KILLED proof of input_S8JSttbJfM.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) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxRelTRS (11) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (12) typed CpxTrs (13) OrderProof [LOWER BOUND(ID), 11 ms] (14) typed CpxTrs (15) RewriteLemmaProof [LOWER BOUND(ID), 8675 ms] (16) typed CpxTrs (17) RewriteLemmaProof [LOWER BOUND(ID), 1414 ms] (18) BEST (19) proven lower bound (20) LowerBoundPropagationProof [FINISHED, 0 ms] (21) BOUNDS(n^1, INF) (22) typed CpxTrs (23) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (24) CdtProblem (25) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CdtProblem (27) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CpxRelTRS (29) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (30) CpxTRS (31) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CpxWeightedTrs (33) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CpxTypedWeightedTrs (35) CompletionProof [UPPER BOUND(ID), 0 ms] (36) CpxTypedWeightedCompleteTrs (37) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CpxTypedWeightedCompleteTrs (39) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CpxRNTS (43) CompletionProof [UPPER BOUND(ID), 0 ms] (44) CpxTypedWeightedCompleteTrs (45) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 4 ms] (80) CdtProblem (81) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 7 ms] (100) CdtProblem (101) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 9 ms] (106) CdtProblem (107) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 8 ms] (116) CdtProblem (117) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 10 ms] (120) CdtProblem (121) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 8 ms] (146) CdtProblem (147) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 90 ms] (156) CdtProblem (157) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 143 ms] (158) CdtProblem (159) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (160) CpxWeightedTrs (161) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CpxTypedWeightedTrs (163) CompletionProof [UPPER BOUND(ID), 0 ms] (164) CpxTypedWeightedCompleteTrs (165) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (166) CpxTypedWeightedCompleteTrs (167) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (168) CpxRNTS (169) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CpxRNTS (171) CompletionProof [UPPER BOUND(ID), 0 ms] (172) CpxTypedWeightedCompleteTrs (173) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (174) CpxRNTS ---------------------------------------- (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__length(nil) -> 0 a__length(cons(X, Y)) -> s(a__length1(Y)) a__length1(X) -> a__length(X) mark(from(X)) -> a__from(mark(X)) mark(length(X)) -> a__length(X) mark(length1(X)) -> a__length1(X) mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(nil) -> nil mark(0) -> 0 a__from(X) -> from(X) a__length(X) -> length(X) a__length1(X) -> length1(X) 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__length(nil) -> 0' a__length(cons(X, Y)) -> s(a__length1(Y)) a__length1(X) -> a__length(X) mark(from(X)) -> a__from(mark(X)) mark(length(X)) -> a__length(X) mark(length1(X)) -> a__length1(X) mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(nil) -> nil mark(0') -> 0' a__from(X) -> from(X) a__length(X) -> length(X) a__length1(X) -> length1(X) 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__length(nil) -> 0 a__length(cons(X, Y)) -> s(a__length1(Y)) a__length1(X) -> a__length(X) mark(from(X)) -> a__from(mark(X)) mark(length(X)) -> a__length(X) mark(length1(X)) -> a__length1(X) mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(nil) -> nil mark(0) -> 0 a__from(X) -> from(X) a__length(X) -> length(X) a__length1(X) -> length1(X) 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__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0) -> c13 S tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0) -> c13 K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, A__LENGTH_1, A__LENGTH1_1, MARK_1 Compound Symbols: c_1, c1, c2, c3_1, c4, c5_1, c6, c7_2, c8_1, c9_1, c10_1, c11_1, c12, c13 ---------------------------------------- (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(n^1, INF). The TRS R consists of the following rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0) -> c13 The (relative) TRS S consists of the following rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Rewrite Strategy: INNERMOST ---------------------------------------- (9) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (10) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0') -> c13 The (relative) TRS S consists of the following rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0') -> 0' Rewrite Strategy: INNERMOST ---------------------------------------- (11) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (12) Obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0') -> c13 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0') -> 0' Types: A__FROM :: nil:cons:from:length:length1:s:0' -> c:c1 c :: c7:c8:c9:c10:c11:c12:c13 -> c:c1 MARK :: nil:cons:from:length:length1:s:0' -> c7:c8:c9:c10:c11:c12:c13 c1 :: c:c1 A__LENGTH :: nil:cons:from:length:length1:s:0' -> c2:c3:c4 nil :: nil:cons:from:length:length1:s:0' c2 :: c2:c3:c4 cons :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c3 :: c5:c6 -> c2:c3:c4 A__LENGTH1 :: nil:cons:from:length:length1:s:0' -> c5:c6 c4 :: c2:c3:c4 c5 :: c2:c3:c4 -> c5:c6 c6 :: c5:c6 from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c7 :: c:c1 -> c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 mark :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c8 :: c2:c3:c4 -> c7:c8:c9:c10:c11:c12:c13 length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c9 :: c5:c6 -> c7:c8:c9:c10:c11:c12:c13 c10 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 s :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c11 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 c12 :: c7:c8:c9:c10:c11:c12:c13 0' :: nil:cons:from:length:length1:s:0' c13 :: c7:c8:c9:c10:c11:c12:c13 a__from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' hole_c:c11_14 :: c:c1 hole_nil:cons:from:length:length1:s:0'2_14 :: nil:cons:from:length:length1:s:0' hole_c7:c8:c9:c10:c11:c12:c133_14 :: c7:c8:c9:c10:c11:c12:c13 hole_c2:c3:c44_14 :: c2:c3:c4 hole_c5:c65_14 :: c5:c6 gen_nil:cons:from:length:length1:s:0'6_14 :: Nat -> nil:cons:from:length:length1:s:0' gen_c7:c8:c9:c10:c11:c12:c137_14 :: Nat -> c7:c8:c9:c10:c11:c12:c13 ---------------------------------------- (13) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__FROM, MARK, A__LENGTH, A__LENGTH1, mark, a__from, a__length, a__length1 They will be analysed ascendingly in the following order: A__FROM = MARK A__LENGTH < MARK A__LENGTH1 < MARK mark < MARK A__LENGTH = A__LENGTH1 mark = a__from a__length < mark a__length1 < mark a__length = a__length1 ---------------------------------------- (14) Obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0') -> c13 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0') -> 0' Types: A__FROM :: nil:cons:from:length:length1:s:0' -> c:c1 c :: c7:c8:c9:c10:c11:c12:c13 -> c:c1 MARK :: nil:cons:from:length:length1:s:0' -> c7:c8:c9:c10:c11:c12:c13 c1 :: c:c1 A__LENGTH :: nil:cons:from:length:length1:s:0' -> c2:c3:c4 nil :: nil:cons:from:length:length1:s:0' c2 :: c2:c3:c4 cons :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c3 :: c5:c6 -> c2:c3:c4 A__LENGTH1 :: nil:cons:from:length:length1:s:0' -> c5:c6 c4 :: c2:c3:c4 c5 :: c2:c3:c4 -> c5:c6 c6 :: c5:c6 from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c7 :: c:c1 -> c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 mark :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c8 :: c2:c3:c4 -> c7:c8:c9:c10:c11:c12:c13 length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c9 :: c5:c6 -> c7:c8:c9:c10:c11:c12:c13 c10 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 s :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c11 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 c12 :: c7:c8:c9:c10:c11:c12:c13 0' :: nil:cons:from:length:length1:s:0' c13 :: c7:c8:c9:c10:c11:c12:c13 a__from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' hole_c:c11_14 :: c:c1 hole_nil:cons:from:length:length1:s:0'2_14 :: nil:cons:from:length:length1:s:0' hole_c7:c8:c9:c10:c11:c12:c133_14 :: c7:c8:c9:c10:c11:c12:c13 hole_c2:c3:c44_14 :: c2:c3:c4 hole_c5:c65_14 :: c5:c6 gen_nil:cons:from:length:length1:s:0'6_14 :: Nat -> nil:cons:from:length:length1:s:0' gen_c7:c8:c9:c10:c11:c12:c137_14 :: Nat -> c7:c8:c9:c10:c11:c12:c13 Generator Equations: gen_nil:cons:from:length:length1:s:0'6_14(0) <=> nil gen_nil:cons:from:length:length1:s:0'6_14(+(x, 1)) <=> cons(gen_nil:cons:from:length:length1:s:0'6_14(x), nil) gen_c7:c8:c9:c10:c11:c12:c137_14(0) <=> c8(c2) gen_c7:c8:c9:c10:c11:c12:c137_14(+(x, 1)) <=> c7(c(c8(c2)), gen_c7:c8:c9:c10:c11:c12:c137_14(x)) The following defined symbols remain to be analysed: a__length1, A__FROM, MARK, A__LENGTH, A__LENGTH1, mark, a__from, a__length They will be analysed ascendingly in the following order: A__FROM = MARK A__LENGTH < MARK A__LENGTH1 < MARK mark < MARK A__LENGTH = A__LENGTH1 mark = a__from a__length < mark a__length1 < mark a__length = a__length1 ---------------------------------------- (15) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: mark(gen_nil:cons:from:length:length1:s:0'6_14(n6580_14)) -> gen_nil:cons:from:length:length1:s:0'6_14(n6580_14), rt in Omega(0) Induction Base: mark(gen_nil:cons:from:length:length1:s:0'6_14(0)) ->_R^Omega(0) nil Induction Step: mark(gen_nil:cons:from:length:length1:s:0'6_14(+(n6580_14, 1))) ->_R^Omega(0) cons(mark(gen_nil:cons:from:length:length1:s:0'6_14(n6580_14)), nil) ->_IH cons(gen_nil:cons:from:length:length1:s:0'6_14(c6581_14), nil) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (16) Obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0') -> c13 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0') -> 0' Types: A__FROM :: nil:cons:from:length:length1:s:0' -> c:c1 c :: c7:c8:c9:c10:c11:c12:c13 -> c:c1 MARK :: nil:cons:from:length:length1:s:0' -> c7:c8:c9:c10:c11:c12:c13 c1 :: c:c1 A__LENGTH :: nil:cons:from:length:length1:s:0' -> c2:c3:c4 nil :: nil:cons:from:length:length1:s:0' c2 :: c2:c3:c4 cons :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c3 :: c5:c6 -> c2:c3:c4 A__LENGTH1 :: nil:cons:from:length:length1:s:0' -> c5:c6 c4 :: c2:c3:c4 c5 :: c2:c3:c4 -> c5:c6 c6 :: c5:c6 from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c7 :: c:c1 -> c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 mark :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c8 :: c2:c3:c4 -> c7:c8:c9:c10:c11:c12:c13 length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c9 :: c5:c6 -> c7:c8:c9:c10:c11:c12:c13 c10 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 s :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c11 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 c12 :: c7:c8:c9:c10:c11:c12:c13 0' :: nil:cons:from:length:length1:s:0' c13 :: c7:c8:c9:c10:c11:c12:c13 a__from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' hole_c:c11_14 :: c:c1 hole_nil:cons:from:length:length1:s:0'2_14 :: nil:cons:from:length:length1:s:0' hole_c7:c8:c9:c10:c11:c12:c133_14 :: c7:c8:c9:c10:c11:c12:c13 hole_c2:c3:c44_14 :: c2:c3:c4 hole_c5:c65_14 :: c5:c6 gen_nil:cons:from:length:length1:s:0'6_14 :: Nat -> nil:cons:from:length:length1:s:0' gen_c7:c8:c9:c10:c11:c12:c137_14 :: Nat -> c7:c8:c9:c10:c11:c12:c13 Lemmas: mark(gen_nil:cons:from:length:length1:s:0'6_14(n6580_14)) -> gen_nil:cons:from:length:length1:s:0'6_14(n6580_14), rt in Omega(0) Generator Equations: gen_nil:cons:from:length:length1:s:0'6_14(0) <=> nil gen_nil:cons:from:length:length1:s:0'6_14(+(x, 1)) <=> cons(gen_nil:cons:from:length:length1:s:0'6_14(x), nil) gen_c7:c8:c9:c10:c11:c12:c137_14(0) <=> c8(c2) gen_c7:c8:c9:c10:c11:c12:c137_14(+(x, 1)) <=> c7(c(c8(c2)), gen_c7:c8:c9:c10:c11:c12:c137_14(x)) The following defined symbols remain to be analysed: a__from, A__FROM, MARK, A__LENGTH, A__LENGTH1 They will be analysed ascendingly in the following order: A__FROM = MARK A__LENGTH < MARK A__LENGTH1 < MARK mark < MARK A__LENGTH = A__LENGTH1 mark = a__from ---------------------------------------- (17) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: MARK(gen_nil:cons:from:length:length1:s:0'6_14(+(1, n7734_14))) -> *8_14, rt in Omega(n7734_14) Induction Base: MARK(gen_nil:cons:from:length:length1:s:0'6_14(+(1, 0))) Induction Step: MARK(gen_nil:cons:from:length:length1:s:0'6_14(+(1, +(n7734_14, 1)))) ->_R^Omega(1) c10(MARK(gen_nil:cons:from:length:length1:s:0'6_14(+(1, n7734_14)))) ->_IH c10(*8_14) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (18) Complex Obligation (BEST) ---------------------------------------- (19) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0') -> c13 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0') -> 0' Types: A__FROM :: nil:cons:from:length:length1:s:0' -> c:c1 c :: c7:c8:c9:c10:c11:c12:c13 -> c:c1 MARK :: nil:cons:from:length:length1:s:0' -> c7:c8:c9:c10:c11:c12:c13 c1 :: c:c1 A__LENGTH :: nil:cons:from:length:length1:s:0' -> c2:c3:c4 nil :: nil:cons:from:length:length1:s:0' c2 :: c2:c3:c4 cons :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c3 :: c5:c6 -> c2:c3:c4 A__LENGTH1 :: nil:cons:from:length:length1:s:0' -> c5:c6 c4 :: c2:c3:c4 c5 :: c2:c3:c4 -> c5:c6 c6 :: c5:c6 from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c7 :: c:c1 -> c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 mark :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c8 :: c2:c3:c4 -> c7:c8:c9:c10:c11:c12:c13 length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c9 :: c5:c6 -> c7:c8:c9:c10:c11:c12:c13 c10 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 s :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c11 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 c12 :: c7:c8:c9:c10:c11:c12:c13 0' :: nil:cons:from:length:length1:s:0' c13 :: c7:c8:c9:c10:c11:c12:c13 a__from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' hole_c:c11_14 :: c:c1 hole_nil:cons:from:length:length1:s:0'2_14 :: nil:cons:from:length:length1:s:0' hole_c7:c8:c9:c10:c11:c12:c133_14 :: c7:c8:c9:c10:c11:c12:c13 hole_c2:c3:c44_14 :: c2:c3:c4 hole_c5:c65_14 :: c5:c6 gen_nil:cons:from:length:length1:s:0'6_14 :: Nat -> nil:cons:from:length:length1:s:0' gen_c7:c8:c9:c10:c11:c12:c137_14 :: Nat -> c7:c8:c9:c10:c11:c12:c13 Lemmas: mark(gen_nil:cons:from:length:length1:s:0'6_14(n6580_14)) -> gen_nil:cons:from:length:length1:s:0'6_14(n6580_14), rt in Omega(0) Generator Equations: gen_nil:cons:from:length:length1:s:0'6_14(0) <=> nil gen_nil:cons:from:length:length1:s:0'6_14(+(x, 1)) <=> cons(gen_nil:cons:from:length:length1:s:0'6_14(x), nil) gen_c7:c8:c9:c10:c11:c12:c137_14(0) <=> c8(c2) gen_c7:c8:c9:c10:c11:c12:c137_14(+(x, 1)) <=> c7(c(c8(c2)), gen_c7:c8:c9:c10:c11:c12:c137_14(x)) The following defined symbols remain to be analysed: MARK, A__FROM They will be analysed ascendingly in the following order: A__FROM = MARK ---------------------------------------- (20) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (21) BOUNDS(n^1, INF) ---------------------------------------- (22) Obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0') -> c13 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0') -> 0' Types: A__FROM :: nil:cons:from:length:length1:s:0' -> c:c1 c :: c7:c8:c9:c10:c11:c12:c13 -> c:c1 MARK :: nil:cons:from:length:length1:s:0' -> c7:c8:c9:c10:c11:c12:c13 c1 :: c:c1 A__LENGTH :: nil:cons:from:length:length1:s:0' -> c2:c3:c4 nil :: nil:cons:from:length:length1:s:0' c2 :: c2:c3:c4 cons :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c3 :: c5:c6 -> c2:c3:c4 A__LENGTH1 :: nil:cons:from:length:length1:s:0' -> c5:c6 c4 :: c2:c3:c4 c5 :: c2:c3:c4 -> c5:c6 c6 :: c5:c6 from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c7 :: c:c1 -> c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 mark :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c8 :: c2:c3:c4 -> c7:c8:c9:c10:c11:c12:c13 length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c9 :: c5:c6 -> c7:c8:c9:c10:c11:c12:c13 c10 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 s :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' c11 :: c7:c8:c9:c10:c11:c12:c13 -> c7:c8:c9:c10:c11:c12:c13 c12 :: c7:c8:c9:c10:c11:c12:c13 0' :: nil:cons:from:length:length1:s:0' c13 :: c7:c8:c9:c10:c11:c12:c13 a__from :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' a__length1 :: nil:cons:from:length:length1:s:0' -> nil:cons:from:length:length1:s:0' hole_c:c11_14 :: c:c1 hole_nil:cons:from:length:length1:s:0'2_14 :: nil:cons:from:length:length1:s:0' hole_c7:c8:c9:c10:c11:c12:c133_14 :: c7:c8:c9:c10:c11:c12:c13 hole_c2:c3:c44_14 :: c2:c3:c4 hole_c5:c65_14 :: c5:c6 gen_nil:cons:from:length:length1:s:0'6_14 :: Nat -> nil:cons:from:length:length1:s:0' gen_c7:c8:c9:c10:c11:c12:c137_14 :: Nat -> c7:c8:c9:c10:c11:c12:c13 Lemmas: mark(gen_nil:cons:from:length:length1:s:0'6_14(n6580_14)) -> gen_nil:cons:from:length:length1:s:0'6_14(n6580_14), rt in Omega(0) MARK(gen_nil:cons:from:length:length1:s:0'6_14(+(1, n7734_14))) -> *8_14, rt in Omega(n7734_14) Generator Equations: gen_nil:cons:from:length:length1:s:0'6_14(0) <=> nil gen_nil:cons:from:length:length1:s:0'6_14(+(x, 1)) <=> cons(gen_nil:cons:from:length:length1:s:0'6_14(x), nil) gen_c7:c8:c9:c10:c11:c12:c137_14(0) <=> c8(c2) gen_c7:c8:c9:c10:c11:c12:c137_14(+(x, 1)) <=> c7(c(c8(c2)), gen_c7:c8:c9:c10:c11:c12:c137_14(x)) The following defined symbols remain to be analysed: A__FROM They will be analysed ascendingly in the following order: A__FROM = MARK ---------------------------------------- (23) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0) -> c13 S tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__LENGTH(nil) -> c2 A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH(z0) -> c4 A__LENGTH1(z0) -> c5(A__LENGTH(z0)) A__LENGTH1(z0) -> c6 MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) MARK(nil) -> c12 MARK(0) -> c13 K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, A__LENGTH_1, A__LENGTH1_1, MARK_1 Compound Symbols: c_1, c1, c2, c3_1, c4, c5_1, c6, c7_2, c8_1, c9_1, c10_1, c11_1, c12, c13 ---------------------------------------- (25) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: MARK(0) -> c13 MARK(nil) -> c12 A__LENGTH1(z0) -> c6 A__FROM(z0) -> c1 A__LENGTH(z0) -> c4 A__LENGTH(nil) -> c2 ---------------------------------------- (26) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(z0) -> c(MARK(z0)) A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, A__LENGTH_1, A__LENGTH1_1, MARK_1 Compound Symbols: c_1, c3_1, c5_1, c7_2, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (27) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (28) 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__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(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__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Rewrite Strategy: INNERMOST ---------------------------------------- (29) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (30) 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__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (31) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (32) 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__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) [1] A__LENGTH1(z0) -> c5(A__LENGTH(z0)) [1] MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) [1] MARK(length(z0)) -> c8(A__LENGTH(z0)) [1] MARK(length1(z0)) -> c9(A__LENGTH1(z0)) [1] MARK(cons(z0, z1)) -> c10(MARK(z0)) [1] MARK(s(z0)) -> c11(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> s(a__length1(z1)) [0] a__length(z0) -> length(z0) [0] a__length1(z0) -> a__length(z0) [0] a__length1(z0) -> length1(z0) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(length(z0)) -> a__length(z0) [0] mark(length1(z0)) -> a__length1(z0) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (33) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (34) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__FROM(z0) -> c(MARK(z0)) [1] A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) [1] A__LENGTH1(z0) -> c5(A__LENGTH(z0)) [1] MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) [1] MARK(length(z0)) -> c8(A__LENGTH(z0)) [1] MARK(length1(z0)) -> c9(A__LENGTH1(z0)) [1] MARK(cons(z0, z1)) -> c10(MARK(z0)) [1] MARK(s(z0)) -> c11(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> s(a__length1(z1)) [0] a__length(z0) -> length(z0) [0] a__length1(z0) -> a__length(z0) [0] a__length1(z0) -> length1(z0) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(length(z0)) -> a__length(z0) [0] mark(length1(z0)) -> a__length1(z0) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] The TRS has the following type information: A__FROM :: cons:from:length:length1:s:nil:0 -> c c :: c7:c8:c9:c10:c11 -> c MARK :: cons:from:length:length1:s:nil:0 -> c7:c8:c9:c10:c11 A__LENGTH :: cons:from:length:length1:s:nil:0 -> c3 cons :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 c3 :: c5 -> c3 A__LENGTH1 :: cons:from:length:length1:s:nil:0 -> c5 c5 :: c3 -> c5 from :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 c7 :: c -> c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 mark :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 length :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 c8 :: c3 -> c7:c8:c9:c10:c11 length1 :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 c9 :: c5 -> c7:c8:c9:c10:c11 c10 :: c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 s :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 c11 :: c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 a__from :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 a__length :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 nil :: cons:from:length:length1:s:nil:0 0 :: cons:from:length:length1:s:nil:0 a__length1 :: cons:from:length:length1:s:nil:0 -> cons:from:length:length1:s:nil:0 Rewrite Strategy: INNERMOST ---------------------------------------- (35) 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__LENGTH_1 A__LENGTH1_1 MARK_1 (c) The following functions are completely defined: a__from_1 a__length_1 a__length1_1 mark_1 Due to the following rules being added: a__from(v0) -> null_a__from [0] a__length(v0) -> null_a__length [0] a__length1(v0) -> null_a__length1 [0] mark(v0) -> null_mark [0] And the following fresh constants: null_a__from, null_a__length, null_a__length1, null_mark, const, const1, const2, const3 ---------------------------------------- (36) 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__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) [1] A__LENGTH1(z0) -> c5(A__LENGTH(z0)) [1] MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) [1] MARK(length(z0)) -> c8(A__LENGTH(z0)) [1] MARK(length1(z0)) -> c9(A__LENGTH1(z0)) [1] MARK(cons(z0, z1)) -> c10(MARK(z0)) [1] MARK(s(z0)) -> c11(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> s(a__length1(z1)) [0] a__length(z0) -> length(z0) [0] a__length1(z0) -> a__length(z0) [0] a__length1(z0) -> length1(z0) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(length(z0)) -> a__length(z0) [0] mark(length1(z0)) -> a__length1(z0) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] a__from(v0) -> null_a__from [0] a__length(v0) -> null_a__length [0] a__length1(v0) -> null_a__length1 [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__FROM :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c c :: c7:c8:c9:c10:c11 -> c MARK :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c7:c8:c9:c10:c11 A__LENGTH :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c3 cons :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c3 :: c5 -> c3 A__LENGTH1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c5 c5 :: c3 -> c5 from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c7 :: c -> c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 mark :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c8 :: c3 -> c7:c8:c9:c10:c11 length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c9 :: c5 -> c7:c8:c9:c10:c11 c10 :: c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 s :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c11 :: c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 a__from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark a__length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark nil :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark 0 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark a__length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_mark :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark const :: c const1 :: c7:c8:c9:c10:c11 const2 :: c3 const3 :: c5 Rewrite Strategy: INNERMOST ---------------------------------------- (37) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (38) 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__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) [1] A__LENGTH1(z0) -> c5(A__LENGTH(z0)) [1] MARK(from(from(z0'))) -> c7(A__FROM(a__from(mark(z0'))), MARK(from(z0'))) [1] MARK(from(length(z0''))) -> c7(A__FROM(a__length(z0'')), MARK(length(z0''))) [1] MARK(from(length1(z01))) -> c7(A__FROM(a__length1(z01)), MARK(length1(z01))) [1] MARK(from(cons(z02, z1'))) -> c7(A__FROM(cons(mark(z02), z1')), MARK(cons(z02, z1'))) [1] MARK(from(s(z03))) -> c7(A__FROM(s(mark(z03))), MARK(s(z03))) [1] MARK(from(nil)) -> c7(A__FROM(nil), MARK(nil)) [1] MARK(from(0)) -> c7(A__FROM(0), MARK(0)) [1] MARK(from(z0)) -> c7(A__FROM(null_mark), MARK(z0)) [1] MARK(length(z0)) -> c8(A__LENGTH(z0)) [1] MARK(length1(z0)) -> c9(A__LENGTH1(z0)) [1] MARK(cons(z0, z1)) -> c10(MARK(z0)) [1] MARK(s(z0)) -> c11(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> s(a__length1(z1)) [0] a__length(z0) -> length(z0) [0] a__length1(z0) -> a__length(z0) [0] a__length1(z0) -> length1(z0) [0] mark(from(from(z04))) -> a__from(a__from(mark(z04))) [0] mark(from(length(z05))) -> a__from(a__length(z05)) [0] mark(from(length1(z06))) -> a__from(a__length1(z06)) [0] mark(from(cons(z07, z1''))) -> a__from(cons(mark(z07), z1'')) [0] mark(from(s(z08))) -> a__from(s(mark(z08))) [0] mark(from(nil)) -> a__from(nil) [0] mark(from(0)) -> a__from(0) [0] mark(from(z0)) -> a__from(null_mark) [0] mark(length(z0)) -> a__length(z0) [0] mark(length1(z0)) -> a__length1(z0) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] a__from(v0) -> null_a__from [0] a__length(v0) -> null_a__length [0] a__length1(v0) -> null_a__length1 [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__FROM :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c c :: c7:c8:c9:c10:c11 -> c MARK :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c7:c8:c9:c10:c11 A__LENGTH :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c3 cons :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c3 :: c5 -> c3 A__LENGTH1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c5 c5 :: c3 -> c5 from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c7 :: c -> c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 mark :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c8 :: c3 -> c7:c8:c9:c10:c11 length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c9 :: c5 -> c7:c8:c9:c10:c11 c10 :: c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 s :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c11 :: c7:c8:c9:c10:c11 -> c7:c8:c9:c10:c11 a__from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark a__length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark nil :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark 0 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark a__length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_mark :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark const :: c const1 :: c7:c8:c9:c10:c11 const2 :: c3 const3 :: c5 Rewrite Strategy: INNERMOST ---------------------------------------- (39) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: nil => 1 0 => 0 null_a__from => 0 null_a__length => 0 null_a__length1 => 0 null_mark => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: A__FROM(z) -{ 1 }-> 1 + MARK(z0) :|: z = z0, z0 >= 0 A__LENGTH(z) -{ 1 }-> 1 + A__LENGTH1(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH1(z) -{ 1 }-> 1 + A__LENGTH(z0) :|: z = z0, z0 >= 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__LENGTH1(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__length1(z01)) + MARK(1 + z01) :|: z = 1 + (1 + z01), z01 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__length(z0'')) + MARK(1 + z0'') :|: z = 1 + (1 + z0''), z0'' >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__from(mark(z0'))) + MARK(1 + z0') :|: z = 1 + (1 + z0'), z0' >= 0 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(z03)) + MARK(1 + z03) :|: z = 1 + (1 + z03), z03 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(1 + mark(z02) + z1') + MARK(1 + z02 + z1') :|: z = 1 + (1 + z02 + z1'), z02 >= 0, z1' >= 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__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__length(z) -{ 0 }-> 1 + a__length1(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length1(z) -{ 0 }-> a__length(z0) :|: z = z0, z0 >= 0 a__length1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length1(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 mark(z) -{ 0 }-> a__length1(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__length(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__from(a__length1(z06)) :|: z06 >= 0, z = 1 + (1 + z06) mark(z) -{ 0 }-> a__from(a__length(z05)) :|: z05 >= 0, z = 1 + (1 + z05) mark(z) -{ 0 }-> a__from(a__from(mark(z04))) :|: z04 >= 0, z = 1 + (1 + z04) 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(z08)) :|: z08 >= 0, z = 1 + (1 + z08) mark(z) -{ 0 }-> a__from(1 + mark(z07) + z1'') :|: z07 >= 0, z = 1 + (1 + z07 + z1''), z1'' >= 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 ---------------------------------------- (41) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: A__FROM(z) -{ 1 }-> 1 + MARK(z) :|: z >= 0 A__LENGTH(z) -{ 1 }-> 1 + A__LENGTH1(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH1(z) -{ 1 }-> 1 + A__LENGTH(z) :|: z >= 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__LENGTH1(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__length1(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__length(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(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(z02) + z1') + MARK(1 + z02 + z1') :|: z = 1 + (1 + z02 + z1'), z02 >= 0, z1' >= 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__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: z >= 0 a__length(z) -{ 0 }-> 1 + z :|: z >= 0 a__length(z) -{ 0 }-> 1 + a__length1(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length1(z) -{ 0 }-> a__length(z) :|: z >= 0 a__length1(z) -{ 0 }-> 0 :|: z >= 0 a__length1(z) -{ 0 }-> 1 + z :|: z >= 0 mark(z) -{ 0 }-> a__length1(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__length(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__from(a__length1(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__from(a__length(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__from(a__from(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(z07) + z1'') :|: z07 >= 0, z = 1 + (1 + z07 + z1''), z1'' >= 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 ---------------------------------------- (43) 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__length(v0) -> null_a__length [0] a__length1(v0) -> null_a__length1 [0] mark(v0) -> null_mark [0] A__LENGTH(v0) -> null_A__LENGTH [0] MARK(v0) -> null_MARK [0] And the following fresh constants: null_a__from, null_a__length, null_a__length1, null_mark, null_A__LENGTH, null_MARK, const, const1 ---------------------------------------- (44) 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__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) [1] A__LENGTH1(z0) -> c5(A__LENGTH(z0)) [1] MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) [1] MARK(length(z0)) -> c8(A__LENGTH(z0)) [1] MARK(length1(z0)) -> c9(A__LENGTH1(z0)) [1] MARK(cons(z0, z1)) -> c10(MARK(z0)) [1] MARK(s(z0)) -> c11(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> s(a__length1(z1)) [0] a__length(z0) -> length(z0) [0] a__length1(z0) -> a__length(z0) [0] a__length1(z0) -> length1(z0) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(length(z0)) -> a__length(z0) [0] mark(length1(z0)) -> a__length1(z0) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] a__from(v0) -> null_a__from [0] a__length(v0) -> null_a__length [0] a__length1(v0) -> null_a__length1 [0] mark(v0) -> null_mark [0] A__LENGTH(v0) -> null_A__LENGTH [0] MARK(v0) -> null_MARK [0] The TRS has the following type information: A__FROM :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c c :: c7:c8:c9:c10:c11:null_MARK -> c MARK :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c7:c8:c9:c10:c11:null_MARK A__LENGTH :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c3:null_A__LENGTH cons :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c3 :: c5 -> c3:null_A__LENGTH A__LENGTH1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> c5 c5 :: c3:null_A__LENGTH -> c5 from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c7 :: c -> c7:c8:c9:c10:c11:null_MARK -> c7:c8:c9:c10:c11:null_MARK mark :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c8 :: c3:null_A__LENGTH -> c7:c8:c9:c10:c11:null_MARK length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c9 :: c5 -> c7:c8:c9:c10:c11:null_MARK c10 :: c7:c8:c9:c10:c11:null_MARK -> c7:c8:c9:c10:c11:null_MARK s :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark c11 :: c7:c8:c9:c10:c11:null_MARK -> c7:c8:c9:c10:c11:null_MARK a__from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark a__length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark nil :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark 0 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark a__length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark -> cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__from :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__length :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_a__length1 :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_mark :: cons:from:length:length1:s:nil:0:null_a__from:null_a__length:null_a__length1:null_mark null_A__LENGTH :: c3:null_A__LENGTH null_MARK :: c7:c8:c9:c10:c11:null_MARK const :: c const1 :: c5 Rewrite Strategy: INNERMOST ---------------------------------------- (45) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: nil => 1 0 => 0 null_a__from => 0 null_a__length => 0 null_a__length1 => 0 null_mark => 0 null_A__LENGTH => 0 null_MARK => 0 const => 0 const1 => 0 ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: A__FROM(z) -{ 1 }-> 1 + MARK(z0) :|: z = z0, z0 >= 0 A__LENGTH(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__LENGTH(z) -{ 1 }-> 1 + A__LENGTH1(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH1(z) -{ 1 }-> 1 + A__LENGTH(z0) :|: z = z0, z0 >= 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__LENGTH1(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(mark(z0)) + MARK(z0) :|: z = 1 + 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__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__length(z) -{ 0 }-> 1 + a__length1(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length1(z) -{ 0 }-> a__length(z0) :|: z = z0, z0 >= 0 a__length1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length1(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 mark(z) -{ 0 }-> a__length1(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__length(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__from(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. ---------------------------------------- (47) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__FROM(z0) -> c(MARK(z0)) by A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c7_2, c8_1, c9_1, c10_1, c11_1, c_1 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(from(z0)) -> c7(A__FROM(mark(z0)), MARK(z0)) by MARK(from(from(z0))) -> c7(A__FROM(a__from(mark(z0))), MARK(from(z0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(nil)) -> c7(A__FROM(nil), MARK(nil)) MARK(from(0)) -> c7(A__FROM(0), MARK(0)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(from(z0))) -> c7(A__FROM(a__from(mark(z0))), MARK(from(z0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(nil)) -> c7(A__FROM(nil), MARK(nil)) MARK(from(0)) -> c7(A__FROM(0), MARK(0)) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(from(z0))) -> c7(A__FROM(a__from(mark(z0))), MARK(from(z0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(nil)) -> c7(A__FROM(nil), MARK(nil)) MARK(from(0)) -> c7(A__FROM(0), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2 ---------------------------------------- (51) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(from(0)) -> c7(A__FROM(0), MARK(0)) MARK(from(nil)) -> c7(A__FROM(nil), MARK(nil)) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(from(z0))) -> c7(A__FROM(a__from(mark(z0))), MARK(from(z0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(from(z0))) -> c7(A__FROM(a__from(mark(z0))), MARK(from(z0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(from(from(z0))) -> c7(A__FROM(a__from(mark(z0))), MARK(from(z0))) by MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil)), MARK(from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0)), MARK(from(0))) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil)), MARK(from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0)), MARK(from(0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil)), MARK(from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0)), MARK(from(0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2 ---------------------------------------- (55) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(from(length(z0))) -> c7(A__FROM(a__length(z0)), MARK(length(z0))) by MARK(from(length(nil))) -> c7(A__FROM(0), MARK(length(nil))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c7(A__FROM(length(z0)), MARK(length(z0))) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(nil))) -> c7(A__FROM(0), MARK(length(nil))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c7(A__FROM(length(z0)), MARK(length(z0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(nil))) -> c7(A__FROM(0), MARK(length(nil))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c7(A__FROM(length(z0)), MARK(length(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c7(A__FROM(length(z0)), MARK(length(z0))) MARK(from(length(nil))) -> c7(MARK(length(nil))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c7(A__FROM(length(z0)), MARK(length(z0))) MARK(from(length(nil))) -> c7(MARK(length(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1 ---------------------------------------- (61) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(from(length1(z0))) -> c7(A__FROM(a__length1(z0)), MARK(length1(z0))) by MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c7(A__FROM(length1(z0)), MARK(length1(z0))) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c7(A__FROM(length1(z0)), MARK(length1(z0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c7(A__FROM(length1(z0)), MARK(length1(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1 ---------------------------------------- (65) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) A__LENGTH1(z0) -> c5(A__LENGTH(z0)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, A__LENGTH1_1, MARK_1, A__FROM_1 Compound Symbols: c3_1, c5_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1, c2_1 ---------------------------------------- (67) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__LENGTH1(z0) -> c5(A__LENGTH(z0)) by A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) S tuples: A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__LENGTH_1, MARK_1, A__FROM_1, A__LENGTH1_1 Compound Symbols: c3_1, c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1, c2_1, c5_1 ---------------------------------------- (69) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__LENGTH(cons(z0, z1)) -> c3(A__LENGTH1(z1)) by A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) S tuples: MARK(length(z0)) -> c8(A__LENGTH(z0)) MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c8_1, c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1 ---------------------------------------- (71) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(length(z0)) -> c8(A__LENGTH(z0)) by MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) S tuples: MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(nil))) -> c7(MARK(length(nil))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1 ---------------------------------------- (73) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(from(length(nil))) -> c7(MARK(length(nil))) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) S tuples: MARK(length1(z0)) -> c9(A__LENGTH1(z0)) MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c9_1, c10_1, c11_1, c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1 ---------------------------------------- (75) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(length1(z0)) -> c9(A__LENGTH1(z0)) by MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) S tuples: MARK(cons(z0, z1)) -> c10(MARK(z0)) MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c10_1, c11_1, c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (77) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(z0, z1)) -> c10(MARK(z0)) by MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) S tuples: MARK(s(z0)) -> c11(MARK(z0)) A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c11_1, c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1 ---------------------------------------- (79) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(z0)) -> c11(MARK(z0)) by MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) S tuples: A__FROM(from(y0)) -> c(MARK(from(y0))) A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (81) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__FROM(from(y0)) -> c(MARK(from(y0))) by A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) S tuples: A__FROM(length(y0)) -> c(MARK(length(y0))) A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (83) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__FROM(length(y0)) -> c(MARK(length(y0))) by A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) S tuples: A__FROM(length1(y0)) -> c(MARK(length1(y0))) A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (85) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__FROM(length1(y0)) -> c(MARK(length1(y0))) by A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) S tuples: A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (87) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__FROM(cons(y0, y1)) -> c(MARK(cons(y0, y1))) by A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) S tuples: A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(from(cons(z0, z1))) -> c7(A__FROM(cons(mark(z0), z1)), MARK(cons(z0, z1))) by MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(from(cons(nil, x1))) -> c7(A__FROM(cons(nil, x1)), MARK(cons(nil, x1))) MARK(from(cons(0, x1))) -> c7(A__FROM(cons(0, x1)), MARK(cons(0, x1))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(from(cons(nil, x1))) -> c7(A__FROM(cons(nil, x1)), MARK(cons(nil, x1))) MARK(from(cons(0, x1))) -> c7(A__FROM(cons(0, x1)), MARK(cons(0, x1))) S tuples: A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(from(cons(nil, x1))) -> c7(A__FROM(cons(nil, x1)), MARK(cons(nil, x1))) MARK(from(cons(0, x1))) -> c7(A__FROM(cons(0, x1)), MARK(cons(0, x1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (91) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(from(cons(0, x1))) -> c7(A__FROM(cons(0, x1)), MARK(cons(0, x1))) MARK(from(cons(nil, x1))) -> c7(A__FROM(cons(nil, x1)), MARK(cons(nil, x1))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) S tuples: A__FROM(s(y0)) -> c(MARK(s(y0))) MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: A__FROM_1, MARK_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c_1, c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1 ---------------------------------------- (93) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__FROM(s(y0)) -> c(MARK(s(y0))) by A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) S tuples: MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(from(s(z0))) -> c7(A__FROM(s(mark(z0))), MARK(s(z0))) by MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(s(nil))) -> c7(A__FROM(s(nil)), MARK(s(nil))) MARK(from(s(0))) -> c7(A__FROM(s(0)), MARK(s(0))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(s(nil))) -> c7(A__FROM(s(nil)), MARK(s(nil))) MARK(from(s(0))) -> c7(A__FROM(s(0)), MARK(s(0))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(s(nil))) -> c7(A__FROM(s(nil)), MARK(s(nil))) MARK(from(s(0))) -> c7(A__FROM(s(0)), MARK(s(0))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1 ---------------------------------------- (97) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(from(s(0))) -> c7(A__FROM(s(0)), MARK(s(0))) MARK(from(s(nil))) -> c7(A__FROM(s(nil)), MARK(s(nil))) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(A__FROM(length(z0))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1 ---------------------------------------- (99) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(from(length(z0))) -> c1(A__FROM(length(z0))) by MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length(z0))) -> c1(MARK(length(z0))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1 ---------------------------------------- (101) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(from(length(z0))) -> c1(MARK(length(z0))) by MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1, c1_1 ---------------------------------------- (103) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(from(length1(z0))) -> c2(A__FROM(length1(z0))) by MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(from(length1(z0))) -> c2(MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c2_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1, c1_1 ---------------------------------------- (105) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(from(length1(z0))) -> c2(MARK(length1(z0))) by MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH1_1, A__LENGTH_1, A__FROM_1 Compound Symbols: c7_2, c7_1, c5_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1, c1_1, c2_1 ---------------------------------------- (107) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__LENGTH1(cons(y0, y1)) -> c5(A__LENGTH(cons(y0, y1))) by A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__LENGTH_1, A__FROM_1, A__LENGTH1_1 Compound Symbols: c7_2, c7_1, c3_1, c8_1, c9_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1 ---------------------------------------- (109) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__LENGTH(cons(z0, cons(y0, y1))) -> c3(A__LENGTH1(cons(y0, y1))) by A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c8_1, c9_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1 ---------------------------------------- (111) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(length(cons(y0, cons(y1, y2)))) -> c8(A__LENGTH(cons(y0, cons(y1, y2)))) by MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c9_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1 ---------------------------------------- (113) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(length1(cons(y0, y1))) -> c9(A__LENGTH1(cons(y0, y1))) by MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (115) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(cons(y0, y1), z1)) -> c10(MARK(cons(y0, y1))) by MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (117) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(s(y0), z1)) -> c10(MARK(s(y0))) by MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (119) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(from(cons(y0, y1)), z1)) -> c10(MARK(from(cons(y0, y1)))) by MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (121) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(from(s(y0)), z1)) -> c10(MARK(from(s(y0)))) by MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (123) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(from(length(y0)), z1)) -> c10(MARK(from(length(y0)))) by MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (125) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(length(cons(y0, cons(y1, y2))), z1)) -> c10(MARK(length(cons(y0, cons(y1, y2))))) by MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (127) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(cons(length1(cons(y0, y1)), z1)) -> c10(MARK(length1(cons(y0, y1)))) by MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(s(y0))) -> c11(MARK(s(y0))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (129) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(s(y0))) -> c11(MARK(s(y0))) by MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (131) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(from(cons(y0, y1)))) -> c11(MARK(from(cons(y0, y1)))) by MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (133) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(from(s(y0)))) -> c11(MARK(from(s(y0)))) by MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (135) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(from(length(y0)))) -> c11(MARK(from(length(y0)))) by MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (137) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(length(cons(y0, cons(y1, y2))))) -> c11(MARK(length(cons(y0, cons(y1, y2))))) by MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (139) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(length1(cons(y0, y1)))) -> c11(MARK(length1(cons(y0, y1)))) by MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (141) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(cons(y0, y1), y2))) -> c11(MARK(cons(cons(y0, y1), y2))) by MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (143) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(s(y0), y1))) -> c11(MARK(cons(s(y0), y1))) by MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (145) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(from(cons(y0, y1)), y2))) -> c11(MARK(cons(from(cons(y0, y1)), y2))) by MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (147) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(from(s(y0)), y1))) -> c11(MARK(cons(from(s(y0)), y1))) by MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (149) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(from(length(y0)), y1))) -> c11(MARK(cons(from(length(y0)), y1))) by MARK(s(cons(from(length(cons(y0, y1))), z1))) -> c11(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (151) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c11(MARK(cons(length(cons(y0, cons(y1, y2))), y3))) by MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (153) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(cons(length1(cons(y0, y1)), y2))) -> c11(MARK(cons(length1(cons(y0, y1)), y2))) by MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (155) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(MARK(length(cons(y0, cons(y1, y2))))) by MARK(from(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c1(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) MARK(from(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c1(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) MARK(from(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c1(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (157) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(from(length1(cons(y0, y1)))) -> c2(MARK(length1(cons(y0, y1)))) by MARK(from(length1(cons(z0, cons(y1, y2))))) -> c2(MARK(length1(cons(z0, cons(y1, y2))))) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> s(a__length1(z1)) a__length(z0) -> length(z0) a__length1(z0) -> a__length(z0) a__length1(z0) -> length1(z0) mark(from(z0)) -> a__from(mark(z0)) mark(length(z0)) -> a__length(z0) mark(length1(z0)) -> a__length1(z0) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(0) -> 0 Tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) MARK(from(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c1(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(from(length1(cons(z0, cons(y1, y2))))) -> c2(MARK(length1(cons(z0, cons(y1, y2))))) S tuples: MARK(from(from(x0))) -> c7(A__FROM(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(from(from(x0))) -> c7(A__FROM(from(mark(x0))), MARK(from(x0))) MARK(from(from(from(z0)))) -> c7(A__FROM(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(from(from(length(z0)))) -> c7(A__FROM(a__from(a__length(z0))), MARK(from(length(z0)))) MARK(from(from(length1(z0)))) -> c7(A__FROM(a__from(a__length1(z0))), MARK(from(length1(z0)))) MARK(from(from(cons(z0, z1)))) -> c7(A__FROM(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(from(from(s(z0)))) -> c7(A__FROM(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(from(from(nil))) -> c7(A__FROM(a__from(nil))) MARK(from(from(0))) -> c7(A__FROM(a__from(0))) MARK(from(length(cons(z0, z1)))) -> c7(A__FROM(s(a__length1(z1))), MARK(length(cons(z0, z1)))) MARK(from(length1(z0))) -> c7(A__FROM(a__length(z0)), MARK(length1(z0))) MARK(cons(from(from(y0)), z1)) -> c10(MARK(from(from(y0)))) MARK(cons(from(from(from(y0))), z1)) -> c10(MARK(from(from(from(y0))))) MARK(cons(from(from(length(y0))), z1)) -> c10(MARK(from(from(length(y0))))) MARK(cons(from(from(length1(y0))), z1)) -> c10(MARK(from(from(length1(y0))))) MARK(cons(from(from(cons(y0, y1))), z1)) -> c10(MARK(from(from(cons(y0, y1))))) MARK(cons(from(from(s(y0))), z1)) -> c10(MARK(from(from(s(y0))))) MARK(cons(from(from(nil)), z1)) -> c10(MARK(from(from(nil)))) MARK(cons(from(from(0)), z1)) -> c10(MARK(from(from(0)))) MARK(cons(from(length(cons(y0, y1))), z1)) -> c10(MARK(from(length(cons(y0, y1))))) MARK(cons(from(length1(y0)), z1)) -> c10(MARK(from(length1(y0)))) MARK(s(from(from(y0)))) -> c11(MARK(from(from(y0)))) MARK(s(from(from(from(y0))))) -> c11(MARK(from(from(from(y0))))) MARK(s(from(from(length(y0))))) -> c11(MARK(from(from(length(y0))))) MARK(s(from(from(length1(y0))))) -> c11(MARK(from(from(length1(y0))))) MARK(s(from(from(cons(y0, y1))))) -> c11(MARK(from(from(cons(y0, y1))))) MARK(s(from(from(s(y0))))) -> c11(MARK(from(from(s(y0))))) MARK(s(from(from(nil)))) -> c11(MARK(from(from(nil)))) MARK(s(from(from(0)))) -> c11(MARK(from(from(0)))) MARK(s(from(length(cons(y0, y1))))) -> c11(MARK(from(length(cons(y0, y1))))) MARK(s(from(length1(y0)))) -> c11(MARK(from(length1(y0)))) MARK(s(cons(from(from(y0)), y1))) -> c11(MARK(cons(from(from(y0)), y1))) MARK(s(cons(from(from(from(y0))), y1))) -> c11(MARK(cons(from(from(from(y0))), y1))) MARK(s(cons(from(from(length(y0))), y1))) -> c11(MARK(cons(from(from(length(y0))), y1))) MARK(s(cons(from(from(length1(y0))), y1))) -> c11(MARK(cons(from(from(length1(y0))), y1))) MARK(s(cons(from(from(cons(y0, y1))), y2))) -> c11(MARK(cons(from(from(cons(y0, y1))), y2))) MARK(s(cons(from(from(s(y0))), y1))) -> c11(MARK(cons(from(from(s(y0))), y1))) MARK(s(cons(from(from(nil)), y0))) -> c11(MARK(cons(from(from(nil)), y0))) MARK(s(cons(from(from(0)), y0))) -> c11(MARK(cons(from(from(0)), y0))) MARK(s(cons(from(length(cons(y0, y1))), y2))) -> c11(MARK(cons(from(length(cons(y0, y1))), y2))) MARK(s(cons(from(length1(y0)), y1))) -> c11(MARK(cons(from(length1(y0)), y1))) A__FROM(from(cons(y0, y1))) -> c(MARK(from(cons(y0, y1)))) A__FROM(from(s(y0))) -> c(MARK(from(s(y0)))) A__FROM(from(from(y0))) -> c(MARK(from(from(y0)))) A__FROM(from(from(from(y0)))) -> c(MARK(from(from(from(y0))))) A__FROM(from(from(length(y0)))) -> c(MARK(from(from(length(y0))))) A__FROM(from(from(length1(y0)))) -> c(MARK(from(from(length1(y0))))) A__FROM(from(from(cons(y0, y1)))) -> c(MARK(from(from(cons(y0, y1))))) A__FROM(from(from(s(y0)))) -> c(MARK(from(from(s(y0))))) A__FROM(from(from(nil))) -> c(MARK(from(from(nil)))) A__FROM(from(from(0))) -> c(MARK(from(from(0)))) A__FROM(from(length(cons(y0, y1)))) -> c(MARK(from(length(cons(y0, y1))))) A__FROM(from(length(y0))) -> c(MARK(from(length(y0)))) A__FROM(from(length1(y0))) -> c(MARK(from(length1(y0)))) A__FROM(length(cons(y0, cons(y1, y2)))) -> c(MARK(length(cons(y0, cons(y1, y2))))) A__FROM(length1(cons(y0, y1))) -> c(MARK(length1(cons(y0, y1)))) A__FROM(cons(cons(y0, y1), z1)) -> c(MARK(cons(cons(y0, y1), z1))) A__FROM(cons(s(y0), z1)) -> c(MARK(cons(s(y0), z1))) A__FROM(cons(from(cons(y0, y1)), z1)) -> c(MARK(cons(from(cons(y0, y1)), z1))) A__FROM(cons(from(s(y0)), z1)) -> c(MARK(cons(from(s(y0)), z1))) A__FROM(cons(from(from(y0)), z1)) -> c(MARK(cons(from(from(y0)), z1))) A__FROM(cons(from(from(from(y0))), z1)) -> c(MARK(cons(from(from(from(y0))), z1))) A__FROM(cons(from(from(length(y0))), z1)) -> c(MARK(cons(from(from(length(y0))), z1))) A__FROM(cons(from(from(length1(y0))), z1)) -> c(MARK(cons(from(from(length1(y0))), z1))) A__FROM(cons(from(from(cons(y0, y1))), z1)) -> c(MARK(cons(from(from(cons(y0, y1))), z1))) A__FROM(cons(from(from(s(y0))), z1)) -> c(MARK(cons(from(from(s(y0))), z1))) A__FROM(cons(from(from(nil)), z1)) -> c(MARK(cons(from(from(nil)), z1))) A__FROM(cons(from(from(0)), z1)) -> c(MARK(cons(from(from(0)), z1))) A__FROM(cons(from(length(cons(y0, y1))), z1)) -> c(MARK(cons(from(length(cons(y0, y1))), z1))) A__FROM(cons(from(length(y0)), z1)) -> c(MARK(cons(from(length(y0)), z1))) A__FROM(cons(from(length1(y0)), z1)) -> c(MARK(cons(from(length1(y0)), z1))) A__FROM(cons(length(cons(y0, cons(y1, y2))), z1)) -> c(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) A__FROM(cons(length1(cons(y0, y1)), z1)) -> c(MARK(cons(length1(cons(y0, y1)), z1))) MARK(from(cons(from(z0), x1))) -> c7(A__FROM(cons(a__from(mark(z0)), x1)), MARK(cons(from(z0), x1))) MARK(from(cons(length(z0), x1))) -> c7(A__FROM(cons(a__length(z0), x1)), MARK(cons(length(z0), x1))) MARK(from(cons(length1(z0), x1))) -> c7(A__FROM(cons(a__length1(z0), x1)), MARK(cons(length1(z0), x1))) MARK(from(cons(cons(z0, z1), x1))) -> c7(A__FROM(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(from(cons(s(z0), x1))) -> c7(A__FROM(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) A__FROM(s(s(y0))) -> c(MARK(s(s(y0)))) A__FROM(s(from(cons(y0, y1)))) -> c(MARK(s(from(cons(y0, y1))))) A__FROM(s(from(s(y0)))) -> c(MARK(s(from(s(y0))))) A__FROM(s(from(from(y0)))) -> c(MARK(s(from(from(y0))))) A__FROM(s(from(from(from(y0))))) -> c(MARK(s(from(from(from(y0)))))) A__FROM(s(from(from(length(y0))))) -> c(MARK(s(from(from(length(y0)))))) A__FROM(s(from(from(length1(y0))))) -> c(MARK(s(from(from(length1(y0)))))) A__FROM(s(from(from(cons(y0, y1))))) -> c(MARK(s(from(from(cons(y0, y1)))))) A__FROM(s(from(from(s(y0))))) -> c(MARK(s(from(from(s(y0)))))) A__FROM(s(from(from(nil)))) -> c(MARK(s(from(from(nil))))) A__FROM(s(from(from(0)))) -> c(MARK(s(from(from(0))))) A__FROM(s(from(length(cons(y0, y1))))) -> c(MARK(s(from(length(cons(y0, y1)))))) A__FROM(s(from(length(y0)))) -> c(MARK(s(from(length(y0))))) A__FROM(s(from(length1(y0)))) -> c(MARK(s(from(length1(y0))))) A__FROM(s(length(cons(y0, cons(y1, y2))))) -> c(MARK(s(length(cons(y0, cons(y1, y2)))))) A__FROM(s(length1(cons(y0, y1)))) -> c(MARK(s(length1(cons(y0, y1))))) A__FROM(s(cons(cons(y0, y1), y2))) -> c(MARK(s(cons(cons(y0, y1), y2)))) A__FROM(s(cons(s(y0), y1))) -> c(MARK(s(cons(s(y0), y1)))) A__FROM(s(cons(from(cons(y0, y1)), y2))) -> c(MARK(s(cons(from(cons(y0, y1)), y2)))) A__FROM(s(cons(from(s(y0)), y1))) -> c(MARK(s(cons(from(s(y0)), y1)))) A__FROM(s(cons(from(from(y0)), y1))) -> c(MARK(s(cons(from(from(y0)), y1)))) A__FROM(s(cons(from(from(from(y0))), y1))) -> c(MARK(s(cons(from(from(from(y0))), y1)))) A__FROM(s(cons(from(from(length(y0))), y1))) -> c(MARK(s(cons(from(from(length(y0))), y1)))) A__FROM(s(cons(from(from(length1(y0))), y1))) -> c(MARK(s(cons(from(from(length1(y0))), y1)))) A__FROM(s(cons(from(from(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(from(cons(y0, y1))), y2)))) A__FROM(s(cons(from(from(s(y0))), y1))) -> c(MARK(s(cons(from(from(s(y0))), y1)))) A__FROM(s(cons(from(from(nil)), y0))) -> c(MARK(s(cons(from(from(nil)), y0)))) A__FROM(s(cons(from(from(0)), y0))) -> c(MARK(s(cons(from(from(0)), y0)))) A__FROM(s(cons(from(length(cons(y0, y1))), y2))) -> c(MARK(s(cons(from(length(cons(y0, y1))), y2)))) A__FROM(s(cons(from(length(y0)), y1))) -> c(MARK(s(cons(from(length(y0)), y1)))) A__FROM(s(cons(from(length1(y0)), y1))) -> c(MARK(s(cons(from(length1(y0)), y1)))) A__FROM(s(cons(length(cons(y0, cons(y1, y2))), y3))) -> c(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) A__FROM(s(cons(length1(cons(y0, y1)), y2))) -> c(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(from(s(from(z0)))) -> c7(A__FROM(s(a__from(mark(z0)))), MARK(s(from(z0)))) MARK(from(s(length(z0)))) -> c7(A__FROM(s(a__length(z0))), MARK(s(length(z0)))) MARK(from(s(length1(z0)))) -> c7(A__FROM(s(a__length1(z0))), MARK(s(length1(z0)))) MARK(from(s(cons(z0, z1)))) -> c7(A__FROM(s(cons(mark(z0), z1))), MARK(s(cons(z0, z1)))) MARK(from(s(s(z0)))) -> c7(A__FROM(s(s(mark(z0)))), MARK(s(s(z0)))) MARK(from(length(cons(y0, cons(y1, y2))))) -> c1(A__FROM(length(cons(y0, cons(y1, y2))))) MARK(from(length1(cons(y0, y1)))) -> c2(A__FROM(length1(cons(y0, y1)))) A__LENGTH1(cons(z0, cons(y1, y2))) -> c5(A__LENGTH(cons(z0, cons(y1, y2)))) A__LENGTH(cons(z0, cons(z1, cons(y1, y2)))) -> c3(A__LENGTH1(cons(z1, cons(y1, y2)))) MARK(length(cons(z0, cons(z1, cons(y2, y3))))) -> c8(A__LENGTH(cons(z0, cons(z1, cons(y2, y3))))) MARK(length1(cons(z0, cons(y1, y2)))) -> c9(A__LENGTH1(cons(z0, cons(y1, y2)))) MARK(cons(cons(cons(y0, y1), z1), z2)) -> c10(MARK(cons(cons(y0, y1), z1))) MARK(cons(cons(s(y0), z1), z2)) -> c10(MARK(cons(s(y0), z1))) MARK(cons(cons(from(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(from(cons(y0, y1)), z1))) MARK(cons(cons(from(s(y0)), z1), z2)) -> c10(MARK(cons(from(s(y0)), z1))) MARK(cons(cons(from(from(y0)), z1), z2)) -> c10(MARK(cons(from(from(y0)), z1))) MARK(cons(cons(from(from(from(y0))), z1), z2)) -> c10(MARK(cons(from(from(from(y0))), z1))) MARK(cons(cons(from(from(length(y0))), z1), z2)) -> c10(MARK(cons(from(from(length(y0))), z1))) MARK(cons(cons(from(from(length1(y0))), z1), z2)) -> c10(MARK(cons(from(from(length1(y0))), z1))) MARK(cons(cons(from(from(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(from(cons(y0, y1))), z1))) MARK(cons(cons(from(from(s(y0))), z1), z2)) -> c10(MARK(cons(from(from(s(y0))), z1))) MARK(cons(cons(from(from(nil)), z1), z2)) -> c10(MARK(cons(from(from(nil)), z1))) MARK(cons(cons(from(from(0)), z1), z2)) -> c10(MARK(cons(from(from(0)), z1))) MARK(cons(cons(from(length(cons(y0, y1))), z1), z2)) -> c10(MARK(cons(from(length(cons(y0, y1))), z1))) MARK(cons(cons(from(length(y0)), z1), z2)) -> c10(MARK(cons(from(length(y0)), z1))) MARK(cons(cons(from(length1(y0)), z1), z2)) -> c10(MARK(cons(from(length1(y0)), z1))) MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2)) -> c10(MARK(cons(length(cons(y0, cons(y1, y2))), z1))) MARK(cons(cons(length1(cons(y0, y1)), z1), z2)) -> c10(MARK(cons(length1(cons(y0, y1)), z1))) MARK(cons(s(s(y0)), z1)) -> c10(MARK(s(s(y0)))) MARK(cons(s(from(cons(y0, y1))), z1)) -> c10(MARK(s(from(cons(y0, y1))))) MARK(cons(s(from(s(y0))), z1)) -> c10(MARK(s(from(s(y0))))) MARK(cons(s(from(from(y0))), z1)) -> c10(MARK(s(from(from(y0))))) MARK(cons(s(from(from(from(y0)))), z1)) -> c10(MARK(s(from(from(from(y0)))))) MARK(cons(s(from(from(length(y0)))), z1)) -> c10(MARK(s(from(from(length(y0)))))) MARK(cons(s(from(from(length1(y0)))), z1)) -> c10(MARK(s(from(from(length1(y0)))))) MARK(cons(s(from(from(cons(y0, y1)))), z1)) -> c10(MARK(s(from(from(cons(y0, y1)))))) MARK(cons(s(from(from(s(y0)))), z1)) -> c10(MARK(s(from(from(s(y0)))))) MARK(cons(s(from(from(nil))), z1)) -> c10(MARK(s(from(from(nil))))) MARK(cons(s(from(from(0))), z1)) -> c10(MARK(s(from(from(0))))) MARK(cons(s(from(length(cons(y0, y1)))), z1)) -> c10(MARK(s(from(length(cons(y0, y1)))))) MARK(cons(s(from(length(y0))), z1)) -> c10(MARK(s(from(length(y0))))) MARK(cons(s(from(length1(y0))), z1)) -> c10(MARK(s(from(length1(y0))))) MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(cons(s(length1(cons(y0, y1))), z1)) -> c10(MARK(s(length1(cons(y0, y1))))) MARK(cons(s(cons(cons(y0, y1), y2)), z1)) -> c10(MARK(s(cons(cons(y0, y1), y2)))) MARK(cons(s(cons(s(y0), y1)), z1)) -> c10(MARK(s(cons(s(y0), y1)))) MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(cons(s(cons(from(s(y0)), y1)), z1)) -> c10(MARK(s(cons(from(s(y0)), y1)))) MARK(cons(s(cons(from(from(y0)), y1)), z1)) -> c10(MARK(s(cons(from(from(y0)), y1)))) MARK(cons(s(cons(from(from(from(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(from(y0))), y1)))) MARK(cons(s(cons(from(from(length(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length(y0))), y1)))) MARK(cons(s(cons(from(from(length1(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(from(s(y0))), y1)), z1)) -> c10(MARK(s(cons(from(from(s(y0))), y1)))) MARK(cons(s(cons(from(from(nil)), y0)), z1)) -> c10(MARK(s(cons(from(from(nil)), y0)))) MARK(cons(s(cons(from(from(0)), y0)), z1)) -> c10(MARK(s(cons(from(from(0)), y0)))) MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1)) -> c10(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(cons(s(cons(from(length(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length(y0)), y1)))) MARK(cons(s(cons(from(length1(y0)), y1)), z1)) -> c10(MARK(s(cons(from(length1(y0)), y1)))) MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1)) -> c10(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1)) -> c10(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(cons(from(cons(from(y0), z1)), z2)) -> c10(MARK(from(cons(from(y0), z1)))) MARK(cons(from(cons(length(y0), z1)), z2)) -> c10(MARK(from(cons(length(y0), z1)))) MARK(cons(from(cons(length1(y0), z1)), z2)) -> c10(MARK(from(cons(length1(y0), z1)))) MARK(cons(from(cons(cons(y0, y1), z1)), z2)) -> c10(MARK(from(cons(cons(y0, y1), z1)))) MARK(cons(from(cons(s(y0), z1)), z2)) -> c10(MARK(from(cons(s(y0), z1)))) MARK(cons(from(s(from(y0))), z1)) -> c10(MARK(from(s(from(y0))))) MARK(cons(from(s(length(y0))), z1)) -> c10(MARK(from(s(length(y0))))) MARK(cons(from(s(length1(y0))), z1)) -> c10(MARK(from(s(length1(y0))))) MARK(cons(from(s(cons(y0, y1))), z1)) -> c10(MARK(from(s(cons(y0, y1))))) MARK(cons(from(s(s(y0))), z1)) -> c10(MARK(from(s(s(y0))))) MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1)) -> c10(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3)) -> c10(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(cons(length1(cons(z0, cons(y1, y2))), z2)) -> c10(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(s(s(y0)))) -> c11(MARK(s(s(y0)))) MARK(s(s(from(cons(y0, y1))))) -> c11(MARK(s(from(cons(y0, y1))))) MARK(s(s(from(s(y0))))) -> c11(MARK(s(from(s(y0))))) MARK(s(s(from(from(y0))))) -> c11(MARK(s(from(from(y0))))) MARK(s(s(from(from(from(y0)))))) -> c11(MARK(s(from(from(from(y0)))))) MARK(s(s(from(from(length(y0)))))) -> c11(MARK(s(from(from(length(y0)))))) MARK(s(s(from(from(length1(y0)))))) -> c11(MARK(s(from(from(length1(y0)))))) MARK(s(s(from(from(cons(y0, y1)))))) -> c11(MARK(s(from(from(cons(y0, y1)))))) MARK(s(s(from(from(s(y0)))))) -> c11(MARK(s(from(from(s(y0)))))) MARK(s(s(from(from(nil))))) -> c11(MARK(s(from(from(nil))))) MARK(s(s(from(from(0))))) -> c11(MARK(s(from(from(0))))) MARK(s(s(from(length(cons(y0, y1)))))) -> c11(MARK(s(from(length(cons(y0, y1)))))) MARK(s(s(from(length(y0))))) -> c11(MARK(s(from(length(y0))))) MARK(s(s(from(length1(y0))))) -> c11(MARK(s(from(length1(y0))))) MARK(s(s(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(s(length(cons(y0, cons(y1, y2)))))) MARK(s(s(length1(cons(y0, y1))))) -> c11(MARK(s(length1(cons(y0, y1))))) MARK(s(s(cons(cons(y0, y1), y2)))) -> c11(MARK(s(cons(cons(y0, y1), y2)))) MARK(s(s(cons(s(y0), y1)))) -> c11(MARK(s(cons(s(y0), y1)))) MARK(s(s(cons(from(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(from(cons(y0, y1)), y2)))) MARK(s(s(cons(from(s(y0)), y1)))) -> c11(MARK(s(cons(from(s(y0)), y1)))) MARK(s(s(cons(from(from(y0)), y1)))) -> c11(MARK(s(cons(from(from(y0)), y1)))) MARK(s(s(cons(from(from(from(y0))), y1)))) -> c11(MARK(s(cons(from(from(from(y0))), y1)))) MARK(s(s(cons(from(from(length(y0))), y1)))) -> c11(MARK(s(cons(from(from(length(y0))), y1)))) MARK(s(s(cons(from(from(length1(y0))), y1)))) -> c11(MARK(s(cons(from(from(length1(y0))), y1)))) MARK(s(s(cons(from(from(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(from(cons(y0, y1))), y2)))) MARK(s(s(cons(from(from(s(y0))), y1)))) -> c11(MARK(s(cons(from(from(s(y0))), y1)))) MARK(s(s(cons(from(from(nil)), y0)))) -> c11(MARK(s(cons(from(from(nil)), y0)))) MARK(s(s(cons(from(from(0)), y0)))) -> c11(MARK(s(cons(from(from(0)), y0)))) MARK(s(s(cons(from(length(cons(y0, y1))), y2)))) -> c11(MARK(s(cons(from(length(cons(y0, y1))), y2)))) MARK(s(s(cons(from(length(y0)), y1)))) -> c11(MARK(s(cons(from(length(y0)), y1)))) MARK(s(s(cons(from(length1(y0)), y1)))) -> c11(MARK(s(cons(from(length1(y0)), y1)))) MARK(s(s(cons(length(cons(y0, cons(y1, y2))), y3)))) -> c11(MARK(s(cons(length(cons(y0, cons(y1, y2))), y3)))) MARK(s(s(cons(length1(cons(y0, y1)), y2)))) -> c11(MARK(s(cons(length1(cons(y0, y1)), y2)))) MARK(s(from(cons(from(y0), z1)))) -> c11(MARK(from(cons(from(y0), z1)))) MARK(s(from(cons(length(y0), z1)))) -> c11(MARK(from(cons(length(y0), z1)))) MARK(s(from(cons(length1(y0), z1)))) -> c11(MARK(from(cons(length1(y0), z1)))) MARK(s(from(cons(cons(y0, y1), z1)))) -> c11(MARK(from(cons(cons(y0, y1), z1)))) MARK(s(from(cons(s(y0), z1)))) -> c11(MARK(from(cons(s(y0), z1)))) MARK(s(from(s(from(y0))))) -> c11(MARK(from(s(from(y0))))) MARK(s(from(s(length(y0))))) -> c11(MARK(from(s(length(y0))))) MARK(s(from(s(length1(y0))))) -> c11(MARK(from(s(length1(y0))))) MARK(s(from(s(cons(y0, y1))))) -> c11(MARK(from(s(cons(y0, y1))))) MARK(s(from(s(s(y0))))) -> c11(MARK(from(s(s(y0))))) MARK(s(from(length(cons(y0, cons(y1, y2)))))) -> c11(MARK(from(length(cons(y0, cons(y1, y2)))))) MARK(s(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c11(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(s(length1(cons(z0, cons(y1, y2))))) -> c11(MARK(length1(cons(z0, cons(y1, y2))))) MARK(s(cons(cons(cons(y0, y1), z1), z2))) -> c11(MARK(cons(cons(cons(y0, y1), z1), z2))) MARK(s(cons(cons(s(y0), z1), z2))) -> c11(MARK(cons(cons(s(y0), z1), z2))) MARK(s(cons(cons(from(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(from(cons(y0, y1)), z1), z2))) MARK(s(cons(cons(from(s(y0)), z1), z2))) -> c11(MARK(cons(cons(from(s(y0)), z1), z2))) MARK(s(cons(cons(from(from(y0)), z1), z2))) -> c11(MARK(cons(cons(from(from(y0)), z1), z2))) MARK(s(cons(cons(from(from(from(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(from(y0))), z1), z2))) MARK(s(cons(cons(from(from(length(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length(y0))), z1), z2))) MARK(s(cons(cons(from(from(length1(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(length1(y0))), z1), z2))) MARK(s(cons(cons(from(from(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(from(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(from(s(y0))), z1), z2))) -> c11(MARK(cons(cons(from(from(s(y0))), z1), z2))) MARK(s(cons(cons(from(from(nil)), z1), z2))) -> c11(MARK(cons(cons(from(from(nil)), z1), z2))) MARK(s(cons(cons(from(from(0)), z1), z2))) -> c11(MARK(cons(cons(from(from(0)), z1), z2))) MARK(s(cons(cons(from(length(cons(y0, y1))), z1), z2))) -> c11(MARK(cons(cons(from(length(cons(y0, y1))), z1), z2))) MARK(s(cons(cons(from(length(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length(y0)), z1), z2))) MARK(s(cons(cons(from(length1(y0)), z1), z2))) -> c11(MARK(cons(cons(from(length1(y0)), z1), z2))) MARK(s(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) -> c11(MARK(cons(cons(length(cons(y0, cons(y1, y2))), z1), z2))) MARK(s(cons(cons(length1(cons(y0, y1)), z1), z2))) -> c11(MARK(cons(cons(length1(cons(y0, y1)), z1), z2))) MARK(s(cons(s(s(y0)), z1))) -> c11(MARK(cons(s(s(y0)), z1))) MARK(s(cons(s(from(cons(y0, y1))), z1))) -> c11(MARK(cons(s(from(cons(y0, y1))), z1))) MARK(s(cons(s(from(s(y0))), z1))) -> c11(MARK(cons(s(from(s(y0))), z1))) MARK(s(cons(s(from(from(y0))), z1))) -> c11(MARK(cons(s(from(from(y0))), z1))) MARK(s(cons(s(from(from(from(y0)))), z1))) -> c11(MARK(cons(s(from(from(from(y0)))), z1))) MARK(s(cons(s(from(from(length(y0)))), z1))) -> c11(MARK(cons(s(from(from(length(y0)))), z1))) MARK(s(cons(s(from(from(length1(y0)))), z1))) -> c11(MARK(cons(s(from(from(length1(y0)))), z1))) MARK(s(cons(s(from(from(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(from(cons(y0, y1)))), z1))) MARK(s(cons(s(from(from(s(y0)))), z1))) -> c11(MARK(cons(s(from(from(s(y0)))), z1))) MARK(s(cons(s(from(from(nil))), z1))) -> c11(MARK(cons(s(from(from(nil))), z1))) MARK(s(cons(s(from(from(0))), z1))) -> c11(MARK(cons(s(from(from(0))), z1))) MARK(s(cons(s(from(length(cons(y0, y1)))), z1))) -> c11(MARK(cons(s(from(length(cons(y0, y1)))), z1))) MARK(s(cons(s(from(length(y0))), z1))) -> c11(MARK(cons(s(from(length(y0))), z1))) MARK(s(cons(s(from(length1(y0))), z1))) -> c11(MARK(cons(s(from(length1(y0))), z1))) MARK(s(cons(s(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(s(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(s(length1(cons(y0, y1))), z1))) -> c11(MARK(cons(s(length1(cons(y0, y1))), z1))) MARK(s(cons(s(cons(cons(y0, y1), y2)), z1))) -> c11(MARK(cons(s(cons(cons(y0, y1), y2)), z1))) MARK(s(cons(s(cons(s(y0), y1)), z1))) -> c11(MARK(cons(s(cons(s(y0), y1)), z1))) MARK(s(cons(s(cons(from(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(from(cons(y0, y1)), y2)), z1))) MARK(s(cons(s(cons(from(s(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(s(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(y0)), y1)), z1))) MARK(s(cons(s(cons(from(from(from(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(from(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(length1(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(length1(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(from(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(from(s(y0))), y1)), z1))) -> c11(MARK(cons(s(cons(from(from(s(y0))), y1)), z1))) MARK(s(cons(s(cons(from(from(nil)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(nil)), y0)), z1))) MARK(s(cons(s(cons(from(from(0)), y0)), z1))) -> c11(MARK(cons(s(cons(from(from(0)), y0)), z1))) MARK(s(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) -> c11(MARK(cons(s(cons(from(length(cons(y0, y1))), y2)), z1))) MARK(s(cons(s(cons(from(length(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length(y0)), y1)), z1))) MARK(s(cons(s(cons(from(length1(y0)), y1)), z1))) -> c11(MARK(cons(s(cons(from(length1(y0)), y1)), z1))) MARK(s(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) -> c11(MARK(cons(s(cons(length(cons(y0, cons(y1, y2))), y3)), z1))) MARK(s(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) -> c11(MARK(cons(s(cons(length1(cons(y0, y1)), y2)), z1))) MARK(s(cons(from(cons(from(y0), z1)), z2))) -> c11(MARK(cons(from(cons(from(y0), z1)), z2))) MARK(s(cons(from(cons(length(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length(y0), z1)), z2))) MARK(s(cons(from(cons(length1(y0), z1)), z2))) -> c11(MARK(cons(from(cons(length1(y0), z1)), z2))) MARK(s(cons(from(cons(cons(y0, y1), z1)), z2))) -> c11(MARK(cons(from(cons(cons(y0, y1), z1)), z2))) MARK(s(cons(from(cons(s(y0), z1)), z2))) -> c11(MARK(cons(from(cons(s(y0), z1)), z2))) MARK(s(cons(from(s(from(y0))), z1))) -> c11(MARK(cons(from(s(from(y0))), z1))) MARK(s(cons(from(s(length(y0))), z1))) -> c11(MARK(cons(from(s(length(y0))), z1))) MARK(s(cons(from(s(length1(y0))), z1))) -> c11(MARK(cons(from(s(length1(y0))), z1))) MARK(s(cons(from(s(cons(y0, y1))), z1))) -> c11(MARK(cons(from(s(cons(y0, y1))), z1))) MARK(s(cons(from(s(s(y0))), z1))) -> c11(MARK(cons(from(s(s(y0))), z1))) MARK(s(cons(from(length(cons(y0, cons(y1, y2)))), z1))) -> c11(MARK(cons(from(length(cons(y0, cons(y1, y2)))), z1))) MARK(s(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) -> c11(MARK(cons(length(cons(z0, cons(z1, cons(y2, y3)))), z3))) MARK(s(cons(length1(cons(z0, cons(y1, y2))), z2))) -> c11(MARK(cons(length1(cons(z0, cons(y1, y2))), z2))) MARK(from(length(cons(z0, cons(z1, cons(y2, y3)))))) -> c1(MARK(length(cons(z0, cons(z1, cons(y2, y3)))))) MARK(from(length1(cons(z0, cons(y1, y2))))) -> c2(MARK(length1(cons(z0, cons(y1, y2))))) K tuples:none Defined Rule Symbols: a__from_1, a__length_1, a__length1_1, mark_1 Defined Pair Symbols: MARK_1, A__FROM_1, A__LENGTH1_1, A__LENGTH_1 Compound Symbols: c7_2, c7_1, c10_1, c11_1, c_1, c1_1, c2_1, c5_1, c3_1, c8_1, c9_1 ---------------------------------------- (159) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (160) 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__length(nil) -> 0 [1] a__length(cons(X, Y)) -> s(a__length1(Y)) [1] a__length1(X) -> a__length(X) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(length(X)) -> a__length(X) [1] mark(length1(X)) -> a__length1(X) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__from(X) -> from(X) [1] a__length(X) -> length(X) [1] a__length1(X) -> length1(X) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (161) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (162) 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__length(nil) -> 0 [1] a__length(cons(X, Y)) -> s(a__length1(Y)) [1] a__length1(X) -> a__length(X) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(length(X)) -> a__length(X) [1] mark(length1(X)) -> a__length1(X) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__from(X) -> from(X) [1] a__length(X) -> length(X) [1] a__length1(X) -> length1(X) [1] The TRS has the following type information: a__from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 cons :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 mark :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 s :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 a__length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 nil :: s:from:cons:nil:0:length:length1 0 :: s:from:cons:nil:0:length:length1 a__length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 Rewrite Strategy: INNERMOST ---------------------------------------- (163) 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__length1_1 a__length_1 a__from_1 Due to the following rules being added: none And the following fresh constants: none ---------------------------------------- (164) 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__length(nil) -> 0 [1] a__length(cons(X, Y)) -> s(a__length1(Y)) [1] a__length1(X) -> a__length(X) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(length(X)) -> a__length(X) [1] mark(length1(X)) -> a__length1(X) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__from(X) -> from(X) [1] a__length(X) -> length(X) [1] a__length1(X) -> length1(X) [1] The TRS has the following type information: a__from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 cons :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 mark :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 s :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 a__length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 nil :: s:from:cons:nil:0:length:length1 0 :: s:from:cons:nil:0:length:length1 a__length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 Rewrite Strategy: INNERMOST ---------------------------------------- (165) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (166) 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__length(nil) -> 0 [1] a__length(cons(X, Y)) -> s(a__length1(Y)) [1] a__length1(X) -> a__length(X) [1] mark(from(from(X'))) -> a__from(a__from(mark(X'))) [2] mark(from(length(X''))) -> a__from(a__length(X'')) [2] mark(from(length1(X3))) -> a__from(a__length1(X3)) [2] mark(from(cons(X1', X2'))) -> a__from(cons(mark(X1'), X2')) [2] mark(from(s(X4))) -> a__from(s(mark(X4))) [2] mark(from(nil)) -> a__from(nil) [2] mark(from(0)) -> a__from(0) [2] mark(length(X)) -> a__length(X) [1] mark(length1(X)) -> a__length1(X) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__from(X) -> from(X) [1] a__length(X) -> length(X) [1] a__length1(X) -> length1(X) [1] The TRS has the following type information: a__from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 cons :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 mark :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 s :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 a__length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 nil :: s:from:cons:nil:0:length:length1 0 :: s:from:cons:nil:0:length:length1 a__length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 Rewrite Strategy: INNERMOST ---------------------------------------- (167) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: nil => 1 0 => 0 ---------------------------------------- (168) Obligation: Complexity RNTS consisting of the following rules: 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__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__length(z) -{ 1 }-> 1 + a__length1(Y) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__length1(z) -{ 1 }-> a__length(X) :|: X >= 0, z = X a__length1(z) -{ 1 }-> 1 + X :|: X >= 0, z = X mark(z) -{ 1 }-> a__length1(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__length(X) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> a__from(a__length1(X3)) :|: z = 1 + (1 + X3), X3 >= 0 mark(z) -{ 2 }-> a__from(a__length(X'')) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> a__from(a__from(mark(X'))) :|: X' >= 0, z = 1 + (1 + X') 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(X4)) :|: z = 1 + (1 + X4), X4 >= 0 mark(z) -{ 2 }-> a__from(1 + mark(X1') + X2') :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 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 ---------------------------------------- (169) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (170) Obligation: Complexity RNTS consisting of the following rules: a__from(z) -{ 1 }-> 1 + z :|: z >= 0 a__from(z) -{ 1 }-> 1 + mark(z) + (1 + (1 + z)) :|: z >= 0 a__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + z :|: z >= 0 a__length(z) -{ 1 }-> 1 + a__length1(Y) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__length1(z) -{ 1 }-> a__length(z) :|: z >= 0 a__length1(z) -{ 1 }-> 1 + z :|: z >= 0 mark(z) -{ 1 }-> a__length1(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__length(z - 1) :|: z - 1 >= 0 mark(z) -{ 2 }-> a__from(a__length1(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__from(a__length(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__from(a__from(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(X1') + X2') :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 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 ---------------------------------------- (171) 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 ---------------------------------------- (172) 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__length(nil) -> 0 [1] a__length(cons(X, Y)) -> s(a__length1(Y)) [1] a__length1(X) -> a__length(X) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(length(X)) -> a__length(X) [1] mark(length1(X)) -> a__length1(X) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__from(X) -> from(X) [1] a__length(X) -> length(X) [1] a__length1(X) -> length1(X) [1] The TRS has the following type information: a__from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 cons :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 mark :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 from :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 s :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 a__length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 nil :: s:from:cons:nil:0:length:length1 0 :: s:from:cons:nil:0:length:length1 a__length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 length1 :: s:from:cons:nil:0:length:length1 -> s:from:cons:nil:0:length:length1 Rewrite Strategy: INNERMOST ---------------------------------------- (173) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: nil => 1 0 => 0 ---------------------------------------- (174) Obligation: Complexity RNTS consisting of the following rules: 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__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__length(z) -{ 1 }-> 1 + a__length1(Y) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__length1(z) -{ 1 }-> a__length(X) :|: X >= 0, z = X a__length1(z) -{ 1 }-> 1 + X :|: X >= 0, z = X mark(z) -{ 1 }-> a__length1(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__length(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__from(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.