KILLED proof of input_LYSZbe7o5y.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (4) CpxTRS (5) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (12) CpxRNTS (13) CompletionProof [UPPER BOUND(ID), 0 ms] (14) CpxTypedWeightedCompleteTrs (15) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxTypedWeightedCompleteTrs (17) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (18) CpxRNTS (19) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRNTS (21) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (22) CdtProblem (23) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CdtProblem (25) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CdtProblem (27) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CdtProblem (29) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CdtProblem (31) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CdtProblem (35) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 3 ms] (60) CdtProblem (61) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 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) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 6 ms] (94) CdtProblem (95) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 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), 0 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), 0 ms] (116) CdtProblem (117) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 11 ms] (118) CdtProblem (119) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 2 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), 136 ms] (134) CdtProblem (135) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 76 ms] (136) CdtProblem ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__from(X) -> cons(mark(X), from(s(X))) a__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) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__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 ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__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 ---------------------------------------- (9) 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 ---------------------------------------- (10) 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 ---------------------------------------- (11) 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 ---------------------------------------- (12) 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. ---------------------------------------- (13) 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 ---------------------------------------- (14) 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 ---------------------------------------- (15) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (16) 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 ---------------------------------------- (17) 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 ---------------------------------------- (18) 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 ---------------------------------------- (19) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (20) 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 ---------------------------------------- (21) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (22) 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 ---------------------------------------- (23) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: MARK(nil) -> c12 A__LENGTH1(z0) -> c6 A__LENGTH(nil) -> c2 A__FROM(z0) -> c1 A__LENGTH(z0) -> c4 MARK(0) -> c13 ---------------------------------------- (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__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 ---------------------------------------- (25) 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))) ---------------------------------------- (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__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 ---------------------------------------- (27) 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)) ---------------------------------------- (28) 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 ---------------------------------------- (29) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(from(nil)) -> c7(A__FROM(nil), MARK(nil)) MARK(from(0)) -> c7(A__FROM(0), MARK(0)) ---------------------------------------- (30) 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 ---------------------------------------- (31) 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))) ---------------------------------------- (32) 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 ---------------------------------------- (33) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (34) 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 ---------------------------------------- (35) 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))) ---------------------------------------- (36) 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 ---------------------------------------- (37) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (38) 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 ---------------------------------------- (39) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (40) 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 ---------------------------------------- (41) 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))) ---------------------------------------- (42) 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 ---------------------------------------- (43) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (44) 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 ---------------------------------------- (45) 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))) ---------------------------------------- (46) 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 ---------------------------------------- (47) 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))) ---------------------------------------- (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: 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 ---------------------------------------- (49) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (51) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(from(length(nil))) -> c7(MARK(length(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: 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 ---------------------------------------- (53) 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))) ---------------------------------------- (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: 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 ---------------------------------------- (55) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (57) 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))) ---------------------------------------- (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__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 ---------------------------------------- (59) 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)))) ---------------------------------------- (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__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 ---------------------------------------- (61) 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))))) ---------------------------------------- (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__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 ---------------------------------------- (63) 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)))) ---------------------------------------- (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__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 ---------------------------------------- (65) 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))) ---------------------------------------- (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__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 ---------------------------------------- (67) 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))) ---------------------------------------- (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__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 ---------------------------------------- (69) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: 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))) ---------------------------------------- (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: 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 ---------------------------------------- (71) 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)))) ---------------------------------------- (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(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 ---------------------------------------- (73) 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))) ---------------------------------------- (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(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 ---------------------------------------- (75) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(from(s(nil))) -> c7(A__FROM(s(nil)), MARK(s(nil))) MARK(from(s(0))) -> c7(A__FROM(s(0)), MARK(s(0))) ---------------------------------------- (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(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 ---------------------------------------- (77) 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))))) ---------------------------------------- (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(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 ---------------------------------------- (79) 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))))) ---------------------------------------- (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: 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 ---------------------------------------- (81) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (83) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (85) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (87) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (89) 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))))) ---------------------------------------- (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: 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 ---------------------------------------- (91) 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)))) ---------------------------------------- (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: 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 ---------------------------------------- (93) 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))) ---------------------------------------- (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(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 ---------------------------------------- (95) 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)))) ---------------------------------------- (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(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 ---------------------------------------- (97) 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)))) ---------------------------------------- (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(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 ---------------------------------------- (99) 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))))) ---------------------------------------- (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(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 ---------------------------------------- (101) 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)))))) ---------------------------------------- (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(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 ---------------------------------------- (103) 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)))))) ---------------------------------------- (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(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 ---------------------------------------- (105) 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))))) ---------------------------------------- (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))) 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 ---------------------------------------- (107) 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)))) ---------------------------------------- (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))) 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 ---------------------------------------- (109) 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)))) ---------------------------------------- (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(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 ---------------------------------------- (111) 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))))) ---------------------------------------- (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(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 ---------------------------------------- (113) 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)))))) ---------------------------------------- (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(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 ---------------------------------------- (115) 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)))))) ---------------------------------------- (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(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 ---------------------------------------- (117) 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))))) ---------------------------------------- (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(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 ---------------------------------------- (119) 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))) ---------------------------------------- (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(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 ---------------------------------------- (121) 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))) ---------------------------------------- (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(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 ---------------------------------------- (123) 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))) ---------------------------------------- (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(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 ---------------------------------------- (125) 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))) ---------------------------------------- (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(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 ---------------------------------------- (127) 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))) ---------------------------------------- (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(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 ---------------------------------------- (129) 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))) ---------------------------------------- (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(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 ---------------------------------------- (131) 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))) ---------------------------------------- (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(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 ---------------------------------------- (133) 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)))))) ---------------------------------------- (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(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 ---------------------------------------- (135) 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))))) ---------------------------------------- (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(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