KILLED proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(1, INF). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 171 ms] (4) CpxRelTRS (5) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 0 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 257 ms] (12) BOUNDS(1, INF) (13) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (14) TRS for Loop Detection (15) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (16) CpxTRS (17) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (18) CpxRelTRS (19) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRelTRS (21) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxWeightedTrs (23) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CpxTypedWeightedTrs (25) CompletionProof [UPPER BOUND(ID), 0 ms] (26) CpxTypedWeightedCompleteTrs (27) NarrowingProof [BOTH BOUNDS(ID, ID), 1 ms] (28) CpxTypedWeightedCompleteTrs (29) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (30) CpxRNTS (31) SimplificationProof [BOTH BOUNDS(ID, ID), 2 ms] (32) CpxRNTS (33) CompletionProof [UPPER BOUND(ID), 0 ms] (34) CpxTypedWeightedCompleteTrs (35) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (36) CpxRNTS (37) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (38) CdtProblem (39) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (40) CdtProblem (41) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (46) CdtProblem (47) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 99 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 30 ms] (92) CdtProblem (93) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 5 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 3 ms] (116) CdtProblem (117) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 2 ms] (124) CdtProblem (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (128) CdtProblem (129) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 251 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 258 ms] (144) CdtProblem (145) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 15 ms] (146) CdtProblem (147) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 291 ms] (152) CdtProblem (153) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 324 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CdtProblem (163) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (164) CdtProblem (165) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (166) CdtProblem (167) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (168) CdtProblem (169) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CdtProblem (171) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (172) CdtProblem (173) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (174) CdtProblem (175) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (176) CdtProblem (177) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (178) CdtProblem (179) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (180) CdtProblem (181) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (182) CdtProblem ---------------------------------------- (0) Obligation: The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil Rewrite Strategy: FULL ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil Rewrite Strategy: FULL ---------------------------------------- (5) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (6) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0'), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0'), nil))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0' encode_nil -> nil Rewrite Strategy: FULL ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: TRS: Rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0'), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0'), nil))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0' encode_nil -> nil Types: f :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L s :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L L :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L 0' :: s:0':nil:cons_f:cons_L nil :: s:0':nil:cons_f:cons_L encArg :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L cons_f :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L cons_L :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_f :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_s :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_L :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_0 :: s:0':nil:cons_f:cons_L encode_nil :: s:0':nil:cons_f:cons_L hole_s:0':nil:cons_f:cons_L1_3 :: s:0':nil:cons_f:cons_L gen_s:0':nil:cons_f:cons_L2_3 :: Nat -> s:0':nil:cons_f:cons_L ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: f, L, encArg They will be analysed ascendingly in the following order: f < L f < encArg L < encArg ---------------------------------------- (10) Obligation: TRS: Rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0'), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0'), nil))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0' encode_nil -> nil Types: f :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L s :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L L :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L 0' :: s:0':nil:cons_f:cons_L nil :: s:0':nil:cons_f:cons_L encArg :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L cons_f :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L cons_L :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_f :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_s :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_L :: s:0':nil:cons_f:cons_L -> s:0':nil:cons_f:cons_L encode_0 :: s:0':nil:cons_f:cons_L encode_nil :: s:0':nil:cons_f:cons_L hole_s:0':nil:cons_f:cons_L1_3 :: s:0':nil:cons_f:cons_L gen_s:0':nil:cons_f:cons_L2_3 :: Nat -> s:0':nil:cons_f:cons_L Generator Equations: gen_s:0':nil:cons_f:cons_L2_3(0) <=> 0' gen_s:0':nil:cons_f:cons_L2_3(+(x, 1)) <=> s(gen_s:0':nil:cons_f:cons_L2_3(x)) The following defined symbols remain to be analysed: f, L, encArg They will be analysed ascendingly in the following order: f < L f < encArg L < encArg ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_s:0':nil:cons_f:cons_L2_3(n22_3)) -> gen_s:0':nil:cons_f:cons_L2_3(n22_3), rt in Omega(0) Induction Base: encArg(gen_s:0':nil:cons_f:cons_L2_3(0)) ->_R^Omega(0) 0' Induction Step: encArg(gen_s:0':nil:cons_f:cons_L2_3(+(n22_3, 1))) ->_R^Omega(0) s(encArg(gen_s:0':nil:cons_f:cons_L2_3(n22_3))) ->_IH s(gen_s:0':nil:cons_f:cons_L2_3(c23_3)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (12) BOUNDS(1, INF) ---------------------------------------- (13) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (14) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil Rewrite Strategy: FULL ---------------------------------------- (15) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (16) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, f(s(s(y)), f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(f(s(s(y)), f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil S is empty. Rewrite Strategy: FULL ---------------------------------------- (17) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (18) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil f(x0, x1) -> c_f(x0, x1) Rewrite Strategy: FULL ---------------------------------------- (19) RcToIrcProof (BOTH BOUNDS(ID, ID)) Converted rc-obligation to irc-obligation. As the TRS is a non-duplicating overlay system, we have rc = irc. ---------------------------------------- (20) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, f(s(z), w))) L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(cons_L(x_1)) -> L(encArg(x_1)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_L(x_1) -> L(encArg(x_1)) encode_0 -> 0 encode_nil -> nil f(x0, x1) -> c_f(x0, x1) Rewrite Strategy: INNERMOST ---------------------------------------- (21) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (22) 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: f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, f(s(z), w))) [1] L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) [1] f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(cons_L(x_1)) -> L(encArg(x_1)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_L(x_1) -> L(encArg(x_1)) [0] encode_0 -> 0 [0] encode_nil -> nil [0] f(x0, x1) -> c_f(x0, x1) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (23) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (24) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, f(s(z), w))) [1] L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) [1] f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(cons_L(x_1)) -> L(encArg(x_1)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_L(x_1) -> L(encArg(x_1)) [0] encode_0 -> 0 [0] encode_nil -> nil [0] f(x0, x1) -> c_f(x0, x1) [0] The TRS has the following type information: f :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L c_f :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L s :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L L :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L 0 :: s:c_f:0:nil:cons_f:cons_L nil :: s:c_f:0:nil:cons_f:cons_L encArg :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L cons_f :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L cons_L :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L encode_f :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L encode_s :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L encode_L :: s:c_f:0:nil:cons_f:cons_L -> s:c_f:0:nil:cons_f:cons_L encode_0 :: s:c_f:0:nil:cons_f:cons_L encode_nil :: s:c_f:0:nil:cons_f:cons_L Rewrite Strategy: INNERMOST ---------------------------------------- (25) 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: L_1 encArg_1 encode_f_2 encode_s_1 encode_L_1 encode_0 encode_nil f_2 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_f(v0, v1) -> null_encode_f [0] encode_s(v0) -> null_encode_s [0] encode_L(v0) -> null_encode_L [0] encode_0 -> null_encode_0 [0] encode_nil -> null_encode_nil [0] f(v0, v1) -> null_f [0] L(v0) -> null_L [0] And the following fresh constants: null_encArg, null_encode_f, null_encode_s, null_encode_L, null_encode_0, null_encode_nil, null_f, null_L ---------------------------------------- (26) 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: f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, f(s(z), w))) [1] L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) [1] f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(cons_L(x_1)) -> L(encArg(x_1)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_L(x_1) -> L(encArg(x_1)) [0] encode_0 -> 0 [0] encode_nil -> nil [0] f(x0, x1) -> c_f(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_f(v0, v1) -> null_encode_f [0] encode_s(v0) -> null_encode_s [0] encode_L(v0) -> null_encode_L [0] encode_0 -> null_encode_0 [0] encode_nil -> null_encode_nil [0] f(v0, v1) -> null_f [0] L(v0) -> null_L [0] The TRS has the following type information: f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L c_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L 0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encArg :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L cons_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L cons_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encArg :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L Rewrite Strategy: INNERMOST ---------------------------------------- (27) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (28) 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: f(x, c_f(s(s(y)), c_f(z, c_f(s(s(y')), c_f(z', w'))))) -> f(s(x), f(y, f(s(s(z)), f(y', f(s(z'), w'))))) [2] f(x, c_f(s(s(y)), c_f(z, c_f(s(s(y'')), nil)))) -> f(s(x), f(y, f(s(s(z)), f(y'', f(s(0), nil))))) [2] f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, c_f(s(z), w))) [1] f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, null_f)) [1] L(c_f(s(s(y)), c_f(z, c_f(s(s(y1)), c_f(z'', w''))))) -> L(f(s(0), f(y, f(s(s(z)), f(y1, f(s(z''), w'')))))) [2] L(c_f(s(s(y)), c_f(z, c_f(s(s(y2)), nil)))) -> L(f(s(0), f(y, f(s(s(z)), f(y2, f(s(0), nil)))))) [2] L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, c_f(s(z), w)))) [1] L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, null_f))) [1] f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, c_f(s(0), nil))) [1] f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, null_f)) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(cons_L(s(x_120))) -> L(s(encArg(x_120))) [0] encArg(cons_L(0)) -> L(0) [0] encArg(cons_L(nil)) -> L(nil) [0] encArg(cons_L(cons_f(x_121, x_26))) -> L(f(encArg(x_121), encArg(x_26))) [0] encArg(cons_L(cons_L(x_122))) -> L(L(encArg(x_122))) [0] encArg(cons_L(x_1)) -> L(null_encArg) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_L(s(x_144)) -> L(s(encArg(x_144))) [0] encode_L(0) -> L(0) [0] encode_L(nil) -> L(nil) [0] encode_L(cons_f(x_145, x_214)) -> L(f(encArg(x_145), encArg(x_214))) [0] encode_L(cons_L(x_146)) -> L(L(encArg(x_146))) [0] encode_L(x_1) -> L(null_encArg) [0] encode_0 -> 0 [0] encode_nil -> nil [0] f(x0, x1) -> c_f(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_f(v0, v1) -> null_encode_f [0] encode_s(v0) -> null_encode_s [0] encode_L(v0) -> null_encode_L [0] encode_0 -> null_encode_0 [0] encode_nil -> null_encode_nil [0] f(v0, v1) -> null_f [0] L(v0) -> null_L [0] The TRS has the following type information: f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L c_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L 0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encArg :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L cons_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L cons_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encArg :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L Rewrite Strategy: INNERMOST ---------------------------------------- (29) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 1 null_encArg => 0 null_encode_f => 0 null_encode_s => 0 null_encode_L => 0 null_encode_0 => 0 null_encode_nil => 0 null_f => 0 null_L => 0 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: L(z1) -{ 2 }-> L(f(1 + 0, f(y, f(1 + (1 + z), f(y1, f(1 + z'', w'')))))) :|: y1 >= 0, w'' >= 0, z >= 0, z'' >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y1)) + (1 + z'' + w''))) L(z1) -{ 2 }-> L(f(1 + 0, f(y, f(1 + (1 + z), f(y2, f(1 + 0, 1)))))) :|: z >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y2)) + 1)), y2 >= 0 L(z1) -{ 1 }-> L(f(1 + 0, f(y, 0))) :|: z >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + w), w >= 0 L(z1) -{ 1 }-> L(f(1 + 0, f(y, 1 + (1 + z) + w))) :|: z >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + w), w >= 0 L(z1) -{ 0 }-> 0 :|: z1 = v0, v0 >= 0 encArg(z1) -{ 0 }-> f(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z1 = 1 + x_1 + x_2, x_2 >= 0 encArg(z1) -{ 0 }-> L(f(encArg(x_121), encArg(x_26))) :|: x_26 >= 0, z1 = 1 + (1 + x_121 + x_26), x_121 >= 0 encArg(z1) -{ 0 }-> L(L(encArg(x_122))) :|: z1 = 1 + (1 + x_122), x_122 >= 0 encArg(z1) -{ 0 }-> L(1) :|: z1 = 1 + 1 encArg(z1) -{ 0 }-> L(0) :|: z1 = 1 + 0 encArg(z1) -{ 0 }-> L(0) :|: x_1 >= 0, z1 = 1 + x_1 encArg(z1) -{ 0 }-> L(1 + encArg(x_120)) :|: x_120 >= 0, z1 = 1 + (1 + x_120) encArg(z1) -{ 0 }-> 1 :|: z1 = 1 encArg(z1) -{ 0 }-> 0 :|: z1 = 0 encArg(z1) -{ 0 }-> 0 :|: z1 = v0, v0 >= 0 encArg(z1) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z1 = 1 + x_1 encode_0 -{ 0 }-> 0 :|: encode_L(z1) -{ 0 }-> L(f(encArg(x_145), encArg(x_214))) :|: z1 = 1 + x_145 + x_214, x_145 >= 0, x_214 >= 0 encode_L(z1) -{ 0 }-> L(L(encArg(x_146))) :|: x_146 >= 0, z1 = 1 + x_146 encode_L(z1) -{ 0 }-> L(1) :|: z1 = 1 encode_L(z1) -{ 0 }-> L(0) :|: z1 = 0 encode_L(z1) -{ 0 }-> L(0) :|: x_1 >= 0, z1 = x_1 encode_L(z1) -{ 0 }-> L(1 + encArg(x_144)) :|: x_144 >= 0, z1 = 1 + x_144 encode_L(z1) -{ 0 }-> 0 :|: z1 = v0, v0 >= 0 encode_f(z1, z2) -{ 0 }-> f(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z1 = x_1, z2 = x_2, x_2 >= 0 encode_f(z1, z2) -{ 0 }-> 0 :|: z1 = v0, v0 >= 0, z2 = v1, v1 >= 0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_s(z1) -{ 0 }-> 0 :|: z1 = v0, v0 >= 0 encode_s(z1) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z1 = x_1 f(z1, z2) -{ 2 }-> f(1 + x, f(y, f(1 + (1 + z), f(y', f(1 + z', w'))))) :|: z >= 0, x >= 0, y >= 0, z' >= 0, w' >= 0, y' >= 0, z2 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y')) + (1 + z' + w'))), z1 = x f(z1, z2) -{ 2 }-> f(1 + x, f(y, f(1 + (1 + z), f(y'', f(1 + 0, 1))))) :|: z2 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y'')) + 1)), z >= 0, x >= 0, y >= 0, y'' >= 0, z1 = x f(z1, z2) -{ 1 }-> f(1 + x, f(y, 0)) :|: z >= 0, z2 = 1 + (1 + (1 + y)) + (1 + z + w), x >= 0, y >= 0, w >= 0, z1 = x f(z1, z2) -{ 1 }-> f(1 + x, f(y, 0)) :|: x >= 0, y >= 0, z2 = 1 + (1 + (1 + y)) + 1, z1 = x f(z1, z2) -{ 1 }-> f(1 + x, f(y, 1 + (1 + z) + w)) :|: z >= 0, z2 = 1 + (1 + (1 + y)) + (1 + z + w), x >= 0, y >= 0, w >= 0, z1 = x f(z1, z2) -{ 1 }-> f(1 + x, f(y, 1 + (1 + 0) + 1)) :|: x >= 0, y >= 0, z2 = 1 + (1 + (1 + y)) + 1, z1 = x f(z1, z2) -{ 0 }-> 0 :|: z1 = v0, v0 >= 0, z2 = v1, v1 >= 0 f(z1, z2) -{ 0 }-> 1 + x0 + x1 :|: z1 = x0, x0 >= 0, x1 >= 0, z2 = x1 ---------------------------------------- (31) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: L(z1) -{ 2 }-> L(f(1 + 0, f(y, f(1 + (1 + z), f(y1, f(1 + z'', w'')))))) :|: y1 >= 0, w'' >= 0, z >= 0, z'' >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y1)) + (1 + z'' + w''))) L(z1) -{ 2 }-> L(f(1 + 0, f(y, f(1 + (1 + z), f(y2, f(1 + 0, 1)))))) :|: z >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y2)) + 1)), y2 >= 0 L(z1) -{ 1 }-> L(f(1 + 0, f(y, 0))) :|: z >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + w), w >= 0 L(z1) -{ 1 }-> L(f(1 + 0, f(y, 1 + (1 + z) + w))) :|: z >= 0, y >= 0, z1 = 1 + (1 + (1 + y)) + (1 + z + w), w >= 0 L(z1) -{ 0 }-> 0 :|: z1 >= 0 encArg(z1) -{ 0 }-> f(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z1 = 1 + x_1 + x_2, x_2 >= 0 encArg(z1) -{ 0 }-> L(f(encArg(x_121), encArg(x_26))) :|: x_26 >= 0, z1 = 1 + (1 + x_121 + x_26), x_121 >= 0 encArg(z1) -{ 0 }-> L(L(encArg(z1 - 2))) :|: z1 - 2 >= 0 encArg(z1) -{ 0 }-> L(1) :|: z1 = 1 + 1 encArg(z1) -{ 0 }-> L(0) :|: z1 = 1 + 0 encArg(z1) -{ 0 }-> L(0) :|: z1 - 1 >= 0 encArg(z1) -{ 0 }-> L(1 + encArg(z1 - 2)) :|: z1 - 2 >= 0 encArg(z1) -{ 0 }-> 1 :|: z1 = 1 encArg(z1) -{ 0 }-> 0 :|: z1 = 0 encArg(z1) -{ 0 }-> 0 :|: z1 >= 0 encArg(z1) -{ 0 }-> 1 + encArg(z1 - 1) :|: z1 - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_L(z1) -{ 0 }-> L(f(encArg(x_145), encArg(x_214))) :|: z1 = 1 + x_145 + x_214, x_145 >= 0, x_214 >= 0 encode_L(z1) -{ 0 }-> L(L(encArg(z1 - 1))) :|: z1 - 1 >= 0 encode_L(z1) -{ 0 }-> L(1) :|: z1 = 1 encode_L(z1) -{ 0 }-> L(0) :|: z1 = 0 encode_L(z1) -{ 0 }-> L(0) :|: z1 >= 0 encode_L(z1) -{ 0 }-> L(1 + encArg(z1 - 1)) :|: z1 - 1 >= 0 encode_L(z1) -{ 0 }-> 0 :|: z1 >= 0 encode_f(z1, z2) -{ 0 }-> f(encArg(z1), encArg(z2)) :|: z1 >= 0, z2 >= 0 encode_f(z1, z2) -{ 0 }-> 0 :|: z1 >= 0, z2 >= 0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_s(z1) -{ 0 }-> 0 :|: z1 >= 0 encode_s(z1) -{ 0 }-> 1 + encArg(z1) :|: z1 >= 0 f(z1, z2) -{ 2 }-> f(1 + z1, f(y, f(1 + (1 + z), f(y', f(1 + z', w'))))) :|: z >= 0, z1 >= 0, y >= 0, z' >= 0, w' >= 0, y' >= 0, z2 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y')) + (1 + z' + w'))) f(z1, z2) -{ 2 }-> f(1 + z1, f(y, f(1 + (1 + z), f(y'', f(1 + 0, 1))))) :|: z2 = 1 + (1 + (1 + y)) + (1 + z + (1 + (1 + (1 + y'')) + 1)), z >= 0, z1 >= 0, y >= 0, y'' >= 0 f(z1, z2) -{ 1 }-> f(1 + z1, f(y, 0)) :|: z >= 0, z2 = 1 + (1 + (1 + y)) + (1 + z + w), z1 >= 0, y >= 0, w >= 0 f(z1, z2) -{ 1 }-> f(1 + z1, f(y, 1 + (1 + z) + w)) :|: z >= 0, z2 = 1 + (1 + (1 + y)) + (1 + z + w), z1 >= 0, y >= 0, w >= 0 f(z1, z2) -{ 1 }-> f(1 + z1, f(z2 - 4, 0)) :|: z1 >= 0, z2 - 4 >= 0 f(z1, z2) -{ 1 }-> f(1 + z1, f(z2 - 4, 1 + (1 + 0) + 1)) :|: z1 >= 0, z2 - 4 >= 0 f(z1, z2) -{ 0 }-> 0 :|: z1 >= 0, z2 >= 0 f(z1, z2) -{ 0 }-> 1 + z1 + z2 :|: z1 >= 0, z2 >= 0 ---------------------------------------- (33) 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: encArg(v0) -> null_encArg [0] encode_f(v0, v1) -> null_encode_f [0] encode_s(v0) -> null_encode_s [0] encode_L(v0) -> null_encode_L [0] encode_0 -> null_encode_0 [0] encode_nil -> null_encode_nil [0] f(v0, v1) -> null_f [0] L(v0) -> null_L [0] And the following fresh constants: null_encArg, null_encode_f, null_encode_s, null_encode_L, null_encode_0, null_encode_nil, null_f, null_L ---------------------------------------- (34) 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: f(x, c_f(s(s(y)), c_f(z, w))) -> f(s(x), f(y, f(s(z), w))) [1] L(c_f(s(s(y)), c_f(z, w))) -> L(f(s(0), f(y, f(s(z), w)))) [1] f(x, c_f(s(s(y)), nil)) -> f(s(x), f(y, f(s(0), nil))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(nil) -> nil [0] encArg(cons_f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(cons_L(x_1)) -> L(encArg(x_1)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_L(x_1) -> L(encArg(x_1)) [0] encode_0 -> 0 [0] encode_nil -> nil [0] f(x0, x1) -> c_f(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_f(v0, v1) -> null_encode_f [0] encode_s(v0) -> null_encode_s [0] encode_L(v0) -> null_encode_L [0] encode_0 -> null_encode_0 [0] encode_nil -> null_encode_nil [0] f(v0, v1) -> null_f [0] L(v0) -> null_L [0] The TRS has the following type information: f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L c_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L 0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encArg :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L cons_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L cons_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L -> s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L encode_nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encArg :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_s :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_0 :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_encode_nil :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_f :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L null_L :: s:c_f:0:nil:cons_f:cons_L:null_encArg:null_encode_f:null_encode_s:null_encode_L:null_encode_0:null_encode_nil:null_f:null_L Rewrite Strategy: INNERMOST ---------------------------------------- (35) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 1 null_encArg => 0 null_encode_f => 0 null_encode_s => 0 null_encode_L => 0 null_encode_0 => 0 null_encode_nil => 0 null_f => 0 null_L => 0 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: L(z') -{ 1 }-> L(f(1 + 0, f(y, f(1 + z, w)))) :|: z' = 1 + (1 + (1 + y)) + (1 + z + w), z >= 0, y >= 0, w >= 0 L(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encArg(z') -{ 0 }-> f(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> L(encArg(x_1)) :|: x_1 >= 0, z' = 1 + x_1 encArg(z') -{ 0 }-> 1 :|: z' = 1 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encArg(z') -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z' = 1 + x_1 encode_0 -{ 0 }-> 0 :|: encode_L(z') -{ 0 }-> L(encArg(x_1)) :|: x_1 >= 0, z' = x_1 encode_L(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encode_f(z', z'') -{ 0 }-> f(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_f(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_s(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encode_s(z') -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z' = x_1 f(z', z'') -{ 1 }-> f(1 + x, f(y, f(1 + z, w))) :|: z >= 0, z' = x, x >= 0, y >= 0, w >= 0, z'' = 1 + (1 + (1 + y)) + (1 + z + w) f(z', z'') -{ 1 }-> f(1 + x, f(y, f(1 + 0, 1))) :|: z'' = 1 + (1 + (1 + y)) + 1, z' = x, x >= 0, y >= 0 f(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 f(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = x1, x0 >= 0, x1 >= 0, z' = x0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (37) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) encode_f(z0, z1) -> f(encArg(z0), encArg(z1)) encode_s(z0) -> s(encArg(z0)) encode_L(z0) -> L(encArg(z0)) encode_0 -> 0 encode_nil -> nil f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(0) -> c1 ENCARG(nil) -> c2 ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) ENCODE_F(z0, z1) -> c5(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_S(z0) -> c6(ENCARG(z0)) ENCODE_L(z0) -> c7(L'(encArg(z0)), ENCARG(z0)) ENCODE_0 -> c8 ENCODE_NIL -> c9 F(z0, z1) -> c10 F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil)), F(s(0), nil)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil)), F(s(0), nil)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) K tuples:none Defined Rule Symbols: f_2, L_1, encArg_1, encode_f_2, encode_s_1, encode_L_1, encode_0, encode_nil Defined Pair Symbols: ENCARG_1, ENCODE_F_2, ENCODE_S_1, ENCODE_L_1, ENCODE_0, ENCODE_NIL, F_2, L'_1 Compound Symbols: c_1, c1, c2, c3_3, c4_2, c5_3, c6_1, c7_2, c8, c9, c10, c11_3, c12_3, c13_4 ---------------------------------------- (39) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_S(z0) -> c6(ENCARG(z0)) Removed 5 trailing nodes: F(z0, z1) -> c10 ENCARG(0) -> c1 ENCARG(nil) -> c2 ENCODE_NIL -> c9 ENCODE_0 -> c8 ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) encode_f(z0, z1) -> f(encArg(z0), encArg(z1)) encode_s(z0) -> s(encArg(z0)) encode_L(z0) -> L(encArg(z0)) encode_0 -> 0 encode_nil -> nil f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) ENCODE_F(z0, z1) -> c5(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_L(z0) -> c7(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil)), F(s(0), nil)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil)), F(s(0), nil)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) K tuples:none Defined Rule Symbols: f_2, L_1, encArg_1, encode_f_2, encode_s_1, encode_L_1, encode_0, encode_nil Defined Pair Symbols: ENCARG_1, ENCODE_F_2, ENCODE_L_1, F_2, L'_1 Compound Symbols: c_1, c3_3, c4_2, c5_3, c7_2, c11_3, c12_3, c13_4 ---------------------------------------- (41) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) encode_f(z0, z1) -> f(encArg(z0), encArg(z1)) encode_s(z0) -> s(encArg(z0)) encode_L(z0) -> L(encArg(z0)) encode_0 -> 0 encode_nil -> nil f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) ENCODE_F(z0, z1) -> c5(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_L(z0) -> c7(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: f_2, L_1, encArg_1, encode_f_2, encode_s_1, encode_L_1, encode_0, encode_nil Defined Pair Symbols: ENCARG_1, ENCODE_F_2, ENCODE_L_1, F_2, L'_1 Compound Symbols: c_1, c3_3, c4_2, c5_3, c7_2, c11_3, c13_4, c12_2 ---------------------------------------- (43) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) encode_f(z0, z1) -> f(encArg(z0), encArg(z1)) encode_s(z0) -> s(encArg(z0)) encode_L(z0) -> L(encArg(z0)) encode_0 -> 0 encode_nil -> nil f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_F(z0, z1) -> c1(ENCARG(z0)) ENCODE_F(z0, z1) -> c1(ENCARG(z1)) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCODE_L(z0) -> c1(ENCARG(z0)) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: f_2, L_1, encArg_1, encode_f_2, encode_s_1, encode_L_1, encode_0, encode_nil Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c4_2, c11_3, c13_4, c12_2, c1_1 ---------------------------------------- (45) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 3 leading nodes: ENCODE_F(z0, z1) -> c1(ENCARG(z0)) ENCODE_F(z0, z1) -> c1(ENCARG(z1)) ENCODE_L(z0) -> c1(ENCARG(z0)) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) encode_f(z0, z1) -> f(encArg(z0), encArg(z1)) encode_s(z0) -> s(encArg(z0)) encode_L(z0) -> L(encArg(z0)) encode_0 -> 0 encode_nil -> nil f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: f_2, L_1, encArg_1, encode_f_2, encode_s_1, encode_L_1, encode_0, encode_nil Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c4_2, c11_3, c13_4, c12_2, c1_1 ---------------------------------------- (47) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_f(z0, z1) -> f(encArg(z0), encArg(z1)) encode_s(z0) -> s(encArg(z0)) encode_L(z0) -> L(encArg(z0)) encode_0 -> 0 encode_nil -> nil ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c4_2, c11_3, c13_4, c12_2, c1_1 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(z0, z1)) -> c3(F(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_f(x0, s(z0))) -> c3(F(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(F(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_f(x0, nil)) -> c3(F(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, s(z0))) -> c3(F(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(F(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_f(x0, nil)) -> c3(F(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c4_2, c11_3, c13_4, c12_2, c1_1, c3_3 ---------------------------------------- (51) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing tuple parts ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c4_2, c11_3, c13_4, c12_2, c1_1, c3_3, c3_2, c3_1 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_L(z0)) -> c4(L'(encArg(z0)), ENCARG(z0)) by ENCARG(cons_L(s(z0))) -> c4(L'(s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_L(0)) -> c4(L'(0), ENCARG(0)) ENCARG(cons_L(nil)) -> c4(L'(nil), ENCARG(nil)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(s(z0))) -> c4(L'(s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_L(0)) -> c4(L'(0), ENCARG(0)) ENCARG(cons_L(nil)) -> c4(L'(nil), ENCARG(nil)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c11_3, c13_4, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2 ---------------------------------------- (55) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_L(0)) -> c4(L'(0), ENCARG(0)) ENCARG(cons_L(nil)) -> c4(L'(nil), ENCARG(nil)) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(s(z0))) -> c4(L'(s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c11_3, c13_4, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) S tuples: F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c11_3, c13_4, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1 ---------------------------------------- (59) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(z0, c_f(s(s(z1)), c_f(z2, z3))) -> c11(F(s(z0), f(z1, f(s(z2), z3))), F(z1, f(s(z2), z3)), F(s(z2), z3)) by F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) S tuples: L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c13_4, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(z0)), c_f(z1, z2))) -> c13(L'(f(s(0), f(z0, f(s(z1), z2)))), F(s(0), f(z0, f(s(z1), z2))), F(z0, f(s(z1), z2)), F(s(z1), z2)) by L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), f(x0, f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), f(x0, f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) S tuples: F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), f(x0, f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, ENCODE_F_2, ENCODE_L_1, L'_1 Compound Symbols: c_1, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4 ---------------------------------------- (63) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) S tuples: F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, ENCODE_F_2, ENCODE_L_1, L'_1 Compound Symbols: c_1, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c13_3 ---------------------------------------- (65) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) S tuples: F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) K tuples:none Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, ENCODE_F_2, ENCODE_L_1, L'_1 Compound Symbols: c_1, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1 ---------------------------------------- (67) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) We considered the (Usable) Rules:none And the Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1, x_2)) = 0 POL(ENCODE_L(x_1)) = [1] POL(F(x_1, x_2)) = 0 POL(L(x_1)) = 0 POL(L'(x_1)) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c12(x_1, x_2)) = x_1 + x_2 POL(c13(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c2(x_1)) = x_1 POL(c3(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c_f(x_1, x_2)) = 0 POL(cons_L(x_1)) = [1] + x_1 POL(cons_f(x_1, x_2)) = x_1 + x_2 POL(encArg(x_1)) = x_1 POL(f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = x_1 ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) S tuples: F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, ENCODE_F_2, ENCODE_L_1, L'_1 Compound Symbols: c_1, c12_2, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(z0, c_f(s(s(z1)), nil)) -> c12(F(s(z0), f(z1, f(s(0), nil))), F(z1, f(s(0), nil))) by F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, ENCODE_F_2, ENCODE_L_1, F_2, L'_1 Compound Symbols: c_1, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2 ---------------------------------------- (71) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_F(z0, z1) -> c1(F(encArg(z0), encArg(z1))) by ENCODE_F(x0, s(z0)) -> c1(F(encArg(x0), s(encArg(z0)))) ENCODE_F(x0, 0) -> c1(F(encArg(x0), 0)) ENCODE_F(x0, nil) -> c1(F(encArg(x0), nil)) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, s(z0)) -> c1(F(encArg(x0), s(encArg(z0)))) ENCODE_F(x0, 0) -> c1(F(encArg(x0), 0)) ENCODE_F(x0, nil) -> c1(F(encArg(x0), nil)) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, ENCODE_L_1, F_2, L'_1, ENCODE_F_2 Compound Symbols: c_1, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2 ---------------------------------------- (73) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_F(x0, 0) -> c1(F(encArg(x0), 0)) ENCODE_F(x0, nil) -> c1(F(encArg(x0), nil)) ENCODE_F(x0, s(z0)) -> c1(F(encArg(x0), s(encArg(z0)))) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCODE_L(z0) -> c1(L'(encArg(z0))) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, ENCODE_L_1, F_2, L'_1, ENCODE_F_2 Compound Symbols: c_1, c1_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_L(z0) -> c1(L'(encArg(z0))) by ENCODE_L(s(z0)) -> c1(L'(s(encArg(z0)))) ENCODE_L(0) -> c1(L'(0)) ENCODE_L(nil) -> c1(L'(nil)) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(s(z0)) -> c1(L'(s(encArg(z0)))) ENCODE_L(0) -> c1(L'(0)) ENCODE_L(nil) -> c1(L'(nil)) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (77) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_L(nil) -> c1(L'(nil)) ENCODE_L(0) -> c1(L'(0)) ENCODE_L(s(z0)) -> c1(L'(s(encArg(z0)))) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (79) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(x0, cons_f(z0, z1))) -> c3(F(encArg(x0), f(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_f(z0, z1))) by ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(nil), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (81) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (83) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(x0, cons_L(z0))) -> c3(F(encArg(x0), L(encArg(z0))), ENCARG(x0), ENCARG(cons_L(z0))) by ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(F(encArg(x0), L(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(F(encArg(x0), L(0)), ENCARG(x0), ENCARG(cons_L(0))) ENCARG(cons_f(x0, cons_L(nil))) -> c3(F(encArg(x0), L(nil)), ENCARG(x0), ENCARG(cons_L(nil))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(0), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(nil), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(F(encArg(x0), L(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(F(encArg(x0), L(0)), ENCARG(x0), ENCARG(cons_L(0))) ENCARG(cons_f(x0, cons_L(nil))) -> c3(F(encArg(x0), L(nil)), ENCARG(x0), ENCARG(cons_L(nil))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(0), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(nil), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (85) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing tuple parts ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (87) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(s(z0), x1)) -> c3(F(s(encArg(z0)), encArg(x1)), ENCARG(s(z0)), ENCARG(x1)) by ENCARG(cons_f(s(x0), s(z0))) -> c3(F(s(encArg(x0)), s(encArg(z0))), ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(F(s(encArg(x0)), 0), ENCARG(s(x0)), ENCARG(0)) ENCARG(cons_f(s(x0), nil)) -> c3(F(s(encArg(x0)), nil), ENCARG(s(x0)), ENCARG(nil)) ENCARG(cons_f(s(x0), cons_f(z0, z1))) -> c3(F(s(encArg(x0)), f(encArg(z0), encArg(z1))), ENCARG(s(x0)), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(s(x0), cons_L(z0))) -> c3(F(s(encArg(x0)), L(encArg(z0))), ENCARG(s(x0)), ENCARG(cons_L(z0))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(x0), s(z0))) -> c3(F(s(encArg(x0)), s(encArg(z0))), ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(F(s(encArg(x0)), 0), ENCARG(s(x0)), ENCARG(0)) ENCARG(cons_f(s(x0), nil)) -> c3(F(s(encArg(x0)), nil), ENCARG(s(x0)), ENCARG(nil)) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (89) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(cons_f(z0, z1), x1)) -> c3(F(f(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_f(z0, z1)), ENCARG(x1)) by ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(F(f(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(F(f(encArg(x0), encArg(x1)), 0), ENCARG(cons_f(x0, x1)), ENCARG(0)) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(F(f(encArg(x0), encArg(x1)), nil), ENCARG(cons_f(x0, x1)), ENCARG(nil)) ENCARG(cons_f(cons_f(x0, x1), cons_f(z0, z1))) -> c3(F(f(encArg(x0), encArg(x1)), f(encArg(z0), encArg(z1))), ENCARG(cons_f(x0, x1)), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(cons_f(x0, x1), cons_L(z0))) -> c3(F(f(encArg(x0), encArg(x1)), L(encArg(z0))), ENCARG(cons_f(x0, x1)), ENCARG(cons_L(z0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(F(f(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(F(f(encArg(x0), encArg(x1)), 0), ENCARG(cons_f(x0, x1)), ENCARG(0)) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(F(f(encArg(x0), encArg(x1)), nil), ENCARG(cons_f(x0, x1)), ENCARG(nil)) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (93) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_3, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(cons_L(z0), x1)) -> c3(F(L(encArg(z0)), encArg(x1)), ENCARG(cons_L(z0)), ENCARG(x1)) by ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(F(L(encArg(x0)), s(encArg(z0))), ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(F(L(encArg(x0)), 0), ENCARG(cons_L(x0)), ENCARG(0)) ENCARG(cons_f(cons_L(x0), nil)) -> c3(F(L(encArg(x0)), nil), ENCARG(cons_L(x0)), ENCARG(nil)) ENCARG(cons_f(cons_L(x0), cons_f(z0, z1))) -> c3(F(L(encArg(x0)), f(encArg(z0), encArg(z1))), ENCARG(cons_L(x0)), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(cons_L(x0), cons_L(z0))) -> c3(F(L(encArg(x0)), L(encArg(z0))), ENCARG(cons_L(x0)), ENCARG(cons_L(z0))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(cons_L(0)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(cons_L(nil)), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(F(L(encArg(x0)), s(encArg(z0))), ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(F(L(encArg(x0)), 0), ENCARG(cons_L(x0)), ENCARG(0)) ENCARG(cons_f(cons_L(x0), nil)) -> c3(F(L(encArg(x0)), nil), ENCARG(cons_L(x0)), ENCARG(nil)) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(cons_L(0)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(cons_L(nil)), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(0, x1)) -> c3(F(0, encArg(x1)), ENCARG(x1)) by ENCARG(cons_f(0, s(z0))) -> c3(F(0, s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_f(0, 0)) -> c3(F(0, 0), ENCARG(0)) ENCARG(cons_f(0, nil)) -> c3(F(0, nil), ENCARG(nil)) ENCARG(cons_f(0, cons_f(z0, z1))) -> c3(F(0, f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(0, cons_L(z0))) -> c3(F(0, L(encArg(z0))), ENCARG(cons_L(z0))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(F(0, s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_f(0, 0)) -> c3(F(0, 0), ENCARG(0)) ENCARG(cons_f(0, nil)) -> c3(F(0, nil), ENCARG(nil)) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (101) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_f(0, 0)) -> c3(F(0, 0), ENCARG(0)) ENCARG(cons_f(0, nil)) -> c3(F(0, nil), ENCARG(nil)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(F(0, s(encArg(z0))), ENCARG(s(z0))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(nil, x1)) -> c3(F(nil, encArg(x1)), ENCARG(x1)) by ENCARG(cons_f(nil, s(z0))) -> c3(F(nil, s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_f(nil, 0)) -> c3(F(nil, 0), ENCARG(0)) ENCARG(cons_f(nil, nil)) -> c3(F(nil, nil), ENCARG(nil)) ENCARG(cons_f(nil, cons_f(z0, z1))) -> c3(F(nil, f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_f(nil, cons_L(z0))) -> c3(F(nil, L(encArg(z0))), ENCARG(cons_L(z0))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(F(nil, s(encArg(z0))), ENCARG(s(z0))) ENCARG(cons_f(nil, 0)) -> c3(F(nil, 0), ENCARG(0)) ENCARG(cons_f(nil, nil)) -> c3(F(nil, nil), ENCARG(nil)) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (107) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_f(nil, nil)) -> c3(F(nil, nil), ENCARG(nil)) ENCARG(cons_f(nil, 0)) -> c3(F(nil, 0), ENCARG(0)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(F(nil, s(encArg(z0))), ENCARG(s(z0))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (109) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_L(cons_f(z0, z1))) -> c4(L'(f(encArg(z0), encArg(z1))), ENCARG(cons_f(z0, z1))) by ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_2, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_L(cons_L(z0))) -> c4(L'(L(encArg(z0))), ENCARG(cons_L(z0))) by ENCARG(cons_L(cons_L(s(z0)))) -> c4(L'(L(s(encArg(z0)))), ENCARG(cons_L(s(z0)))) ENCARG(cons_L(cons_L(0))) -> c4(L'(L(0)), ENCARG(cons_L(0))) ENCARG(cons_L(cons_L(nil))) -> c4(L'(L(nil)), ENCARG(cons_L(nil))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(L'(L(s(encArg(z0)))), ENCARG(cons_L(s(z0)))) ENCARG(cons_L(cons_L(0))) -> c4(L'(L(0)), ENCARG(cons_L(0))) ENCARG(cons_L(cons_L(nil))) -> c4(L'(L(nil)), ENCARG(cons_L(nil))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_L(cons_L(0))) -> c4(L'(L(0)), ENCARG(cons_L(0))) ENCARG(cons_L(cons_L(nil))) -> c4(L'(L(nil)), ENCARG(cons_L(nil))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(L'(L(s(encArg(z0)))), ENCARG(cons_L(s(z0)))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2 ---------------------------------------- (117) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) S tuples: F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) by F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2 ---------------------------------------- (121) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) by F(x0, c_f(s(s(z0)), c_f(x2, x3))) -> c11(F(s(x0), c_f(z0, c_f(s(x2), x3))), F(z0, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil)), F(s(s(z1)), nil)) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil)), F(s(s(z1)), nil)) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil)), F(s(s(z1)), nil)) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_2 ---------------------------------------- (123) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_2 ---------------------------------------- (125) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) by F(x0, c_f(s(s(z0)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), c_f(z0, f(s(s(x2)), f(x3, f(s(x4), x5))))), F(z0, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, F_2, L'_1, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c11_3, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_2 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) by F(x0, c_f(s(s(z0)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), c_f(z0, f(s(s(x2)), f(x3, f(s(0), nil))))), F(z0, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) S tuples: L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2 ---------------------------------------- (129) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) by L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), c_f(x0, f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), c_f(x0, f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) S tuples: L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), c_f(x0, f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1 ---------------------------------------- (131) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) S tuples: L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c13_3 ---------------------------------------- (133) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) S tuples: L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1 ---------------------------------------- (135) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) We considered the (Usable) Rules:none And the Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1, x_2)) = 0 POL(ENCODE_L(x_1)) = [1] + x_1 POL(F(x_1, x_2)) = 0 POL(L(x_1)) = 0 POL(L'(x_1)) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c11(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c12(x_1, x_2)) = x_1 + x_2 POL(c13(x_1)) = x_1 POL(c13(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c2(x_1)) = x_1 POL(c3(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c5(x_1)) = x_1 POL(c_f(x_1, x_2)) = 0 POL(cons_L(x_1)) = [1] + x_1 POL(cons_f(x_1, x_2)) = x_1 + x_2 POL(encArg(x_1)) = [1] + x_1 POL(f(x_1, x_2)) = 0 POL(nil) = [1] POL(s(x_1)) = x_1 ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) S tuples: L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1 ---------------------------------------- (137) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) by L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), f(x0, c_f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c13(L'(f(s(0), c_f(z0, c_f(s(x1), x2)))), F(s(0), f(z0, f(s(x1), x2))), F(z0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil)), F(s(s(z1)), nil)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), f(x0, c_f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil)), F(s(s(z1)), nil)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(L'(c_f(s(0), f(x0, c_f(s(x1), x2)))), F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil)), F(s(s(z1)), nil)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3 ---------------------------------------- (139) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2))), F(x0, f(s(x1), x2)), F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3 ---------------------------------------- (141) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3, c6_1 ---------------------------------------- (143) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) We considered the (Usable) Rules:none And the Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1, x_2)) = 0 POL(ENCODE_L(x_1)) = [1] + x_1 POL(F(x_1, x_2)) = 0 POL(L(x_1)) = 0 POL(L'(x_1)) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c11(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c12(x_1, x_2)) = x_1 + x_2 POL(c13(x_1)) = x_1 POL(c13(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c13(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c2(x_1)) = x_1 POL(c3(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c5(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c_f(x_1, x_2)) = 0 POL(cons_L(x_1)) = [1] + x_1 POL(cons_f(x_1, x_2)) = x_1 + x_2 POL(encArg(x_1)) = [1] + x_1 POL(f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = x_1 ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3, c6_1 ---------------------------------------- (145) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) by L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(c_f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(z0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), c_f(z0, f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(z0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(z0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(c_f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(c_f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3, c6_1 ---------------------------------------- (147) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3, c6_1 ---------------------------------------- (149) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3, c6_1, c7_1 ---------------------------------------- (151) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) We considered the (Usable) Rules:none And the Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1, x_2)) = 0 POL(ENCODE_L(x_1)) = [1] + x_1 POL(F(x_1, x_2)) = 0 POL(L(x_1)) = 0 POL(L'(x_1)) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c11(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c12(x_1, x_2)) = x_1 + x_2 POL(c13(x_1)) = x_1 POL(c13(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c13(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c2(x_1)) = x_1 POL(c3(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c5(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1)) = x_1 POL(c_f(x_1, x_2)) = 0 POL(cons_L(x_1)) = [1] + x_1 POL(cons_f(x_1, x_2)) = [1] + x_1 + x_2 POL(encArg(x_1)) = [1] + x_1 POL(f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = x_1 ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) S tuples: L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c13_4, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_1, c5_1, c13_3, c6_1, c7_1 ---------------------------------------- (153) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) by L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(c_f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), c_f(z0, f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(z0, f(s(x1), c_f(s(s(x2)), nil)))), F(z0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(c_f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) S tuples: F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(c_f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1 ---------------------------------------- (155) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) S tuples: F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1 ---------------------------------------- (157) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) S tuples: F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1 ---------------------------------------- (159) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) We considered the (Usable) Rules: f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) encArg(s(z0)) -> s(encArg(z0)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) encArg(nil) -> nil L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) encArg(0) -> 0 encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) And the Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1, x_2)) = 0 POL(ENCODE_L(x_1)) = [1] + x_1 POL(F(x_1, x_2)) = 0 POL(L(x_1)) = 0 POL(L'(x_1)) = x_1 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c11(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c12(x_1, x_2)) = x_1 + x_2 POL(c13(x_1)) = x_1 POL(c13(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c13(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c2(x_1)) = x_1 POL(c3(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c5(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1)) = x_1 POL(c8(x_1)) = x_1 POL(c_f(x_1, x_2)) = x_2 POL(cons_L(x_1)) = [1] + x_1 POL(cons_f(x_1, x_2)) = [1] + x_1 + x_2 POL(encArg(x_1)) = [1] POL(f(x_1, x_2)) = x_2 POL(nil) = [1] POL(s(x_1)) = x_1 ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) S tuples: F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) by L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) S tuples: F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1 ---------------------------------------- (163) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) by L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) S tuples: F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1 ---------------------------------------- (165) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, f(s(0), nil))), F(z0, f(s(0), nil))) by F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) S tuples: F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, F_2, ENCODE_F_2, ENCODE_L_1 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c12_2, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1 ---------------------------------------- (167) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) by F(x0, c_f(s(s(z0)), nil)) -> c12(F(s(x0), c_f(z0, c_f(s(0), nil))), F(z0, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (169) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_F(x0, cons_f(z0, z1)) -> c1(F(encArg(x0), f(encArg(z0), encArg(z1)))) by ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (171) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_F(x0, cons_L(z0)) -> c1(F(encArg(x0), L(encArg(z0)))) by ENCODE_F(x0, cons_L(s(z0))) -> c1(F(encArg(x0), L(s(encArg(z0))))) ENCODE_F(x0, cons_L(0)) -> c1(F(encArg(x0), L(0))) ENCODE_F(x0, cons_L(nil)) -> c1(F(encArg(x0), L(nil))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_L(s(z0))) -> c1(F(encArg(x0), L(s(encArg(z0))))) ENCODE_F(x0, cons_L(0)) -> c1(F(encArg(x0), L(0))) ENCODE_F(x0, cons_L(nil)) -> c1(F(encArg(x0), L(nil))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (173) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_F(x0, cons_L(nil)) -> c1(F(encArg(x0), L(nil))) ENCODE_F(x0, cons_L(s(z0))) -> c1(F(encArg(x0), L(s(encArg(z0))))) ENCODE_F(x0, cons_L(0)) -> c1(F(encArg(x0), L(0))) ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (175) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_F(s(z0), x1) -> c1(F(s(encArg(z0)), encArg(x1))) by ENCODE_F(s(x0), s(z0)) -> c1(F(s(encArg(x0)), s(encArg(z0)))) ENCODE_F(s(x0), 0) -> c1(F(s(encArg(x0)), 0)) ENCODE_F(s(x0), nil) -> c1(F(s(encArg(x0)), nil)) ENCODE_F(s(x0), cons_f(z0, z1)) -> c1(F(s(encArg(x0)), f(encArg(z0), encArg(z1)))) ENCODE_F(s(x0), cons_L(z0)) -> c1(F(s(encArg(x0)), L(encArg(z0)))) ENCODE_F(s(s(z0)), x1) -> c1(F(s(s(encArg(z0))), encArg(x1))) ENCODE_F(s(0), x1) -> c1(F(s(0), encArg(x1))) ENCODE_F(s(nil), x1) -> c1(F(s(nil), encArg(x1))) ENCODE_F(s(cons_f(z0, z1)), x1) -> c1(F(s(f(encArg(z0), encArg(z1))), encArg(x1))) ENCODE_F(s(cons_L(z0)), x1) -> c1(F(s(L(encArg(z0))), encArg(x1))) ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) ENCODE_F(s(x0), s(z0)) -> c1(F(s(encArg(x0)), s(encArg(z0)))) ENCODE_F(s(x0), 0) -> c1(F(s(encArg(x0)), 0)) ENCODE_F(s(x0), nil) -> c1(F(s(encArg(x0)), nil)) ENCODE_F(s(s(z0)), x1) -> c1(F(s(s(encArg(z0))), encArg(x1))) ENCODE_F(s(0), x1) -> c1(F(s(0), encArg(x1))) ENCODE_F(s(nil), x1) -> c1(F(s(nil), encArg(x1))) ENCODE_F(s(cons_f(z0, z1)), x1) -> c1(F(s(f(encArg(z0), encArg(z1))), encArg(x1))) ENCODE_F(s(cons_L(z0)), x1) -> c1(F(s(L(encArg(z0))), encArg(x1))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (177) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_F(s(x0), 0) -> c1(F(s(encArg(x0)), 0)) ENCODE_F(s(x0), nil) -> c1(F(s(encArg(x0)), nil)) ENCODE_F(s(x0), s(z0)) -> c1(F(s(encArg(x0)), s(encArg(z0)))) ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) ENCODE_F(s(s(z0)), x1) -> c1(F(s(s(encArg(z0))), encArg(x1))) ENCODE_F(s(0), x1) -> c1(F(s(0), encArg(x1))) ENCODE_F(s(nil), x1) -> c1(F(s(nil), encArg(x1))) ENCODE_F(s(cons_f(z0, z1)), x1) -> c1(F(s(f(encArg(z0), encArg(z1))), encArg(x1))) ENCODE_F(s(cons_L(z0)), x1) -> c1(F(s(L(encArg(z0))), encArg(x1))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (179) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_F(0, x1) -> c1(F(0, encArg(x1))) by ENCODE_F(0, s(z0)) -> c1(F(0, s(encArg(z0)))) ENCODE_F(0, 0) -> c1(F(0, 0)) ENCODE_F(0, nil) -> c1(F(0, nil)) ENCODE_F(0, cons_f(z0, z1)) -> c1(F(0, f(encArg(z0), encArg(z1)))) ENCODE_F(0, cons_L(z0)) -> c1(F(0, L(encArg(z0)))) ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) ENCODE_F(s(s(z0)), x1) -> c1(F(s(s(encArg(z0))), encArg(x1))) ENCODE_F(s(0), x1) -> c1(F(s(0), encArg(x1))) ENCODE_F(s(nil), x1) -> c1(F(s(nil), encArg(x1))) ENCODE_F(s(cons_f(z0, z1)), x1) -> c1(F(s(f(encArg(z0), encArg(z1))), encArg(x1))) ENCODE_F(s(cons_L(z0)), x1) -> c1(F(s(L(encArg(z0))), encArg(x1))) ENCODE_F(0, s(z0)) -> c1(F(0, s(encArg(z0)))) ENCODE_F(0, 0) -> c1(F(0, 0)) ENCODE_F(0, nil) -> c1(F(0, nil)) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1 ---------------------------------------- (181) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_F(0, nil) -> c1(F(0, nil)) ENCODE_F(0, 0) -> c1(F(0, 0)) ENCODE_F(0, s(z0)) -> c1(F(0, s(encArg(z0)))) ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: encArg(s(z0)) -> s(encArg(z0)) encArg(0) -> 0 encArg(nil) -> nil encArg(cons_f(z0, z1)) -> f(encArg(z0), encArg(z1)) encArg(cons_L(z0)) -> L(encArg(z0)) f(z0, z1) -> c_f(z0, z1) f(z0, c_f(s(s(z1)), c_f(z2, z3))) -> f(s(z0), f(z1, f(s(z2), z3))) f(z0, c_f(s(s(z1)), nil)) -> f(s(z0), f(z1, f(s(0), nil))) L(c_f(s(s(z0)), c_f(z1, z2))) -> L(f(s(0), f(z0, f(s(z1), z2)))) Tuples: ENCARG(s(z0)) -> c(ENCARG(z0)) ENCARG(cons_f(x0, s(z0))) -> c3(ENCARG(x0), ENCARG(s(z0))) ENCARG(cons_f(x0, 0)) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, nil)) -> c3(ENCARG(x0)) ENCARG(cons_L(s(z0))) -> c4(ENCARG(s(z0))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) ENCODE_F(nil, x1) -> c1(F(nil, encArg(x1))) ENCODE_F(cons_f(z0, z1), x1) -> c1(F(f(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_F(cons_L(z0), x1) -> c1(F(L(encArg(z0)), encArg(x1))) ENCODE_L(cons_f(z0, z1)) -> c1(L'(f(encArg(z0), encArg(z1)))) ENCODE_L(cons_L(z0)) -> c1(L'(L(encArg(z0)))) ENCARG(cons_f(x0, cons_f(x1, x2))) -> c3(F(encArg(x0), c_f(encArg(x1), encArg(x2))), ENCARG(x0), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_f(x1, s(z0)))) -> c3(F(encArg(x0), f(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, s(z0)))) ENCARG(cons_f(x0, cons_f(x1, 0))) -> c3(F(encArg(x0), f(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_f(x1, 0))) ENCARG(cons_f(x0, cons_f(x1, nil))) -> c3(F(encArg(x0), f(encArg(x1), nil)), ENCARG(x0), ENCARG(cons_f(x1, nil))) ENCARG(cons_f(x0, cons_f(x1, cons_f(z0, z1)))) -> c3(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_f(x1, cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_f(x1, cons_L(z0)))) -> c3(F(encArg(x0), f(encArg(x1), L(encArg(z0)))), ENCARG(x0), ENCARG(cons_f(x1, cons_L(z0)))) ENCARG(cons_f(x0, cons_f(s(z0), x2))) -> c3(F(encArg(x0), f(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(s(z0), x2))) ENCARG(cons_f(x0, cons_f(0, x2))) -> c3(F(encArg(x0), f(0, encArg(x2))), ENCARG(x0), ENCARG(cons_f(0, x2))) ENCARG(cons_f(x0, cons_f(nil, x2))) -> c3(F(encArg(x0), f(nil, encArg(x2))), ENCARG(x0), ENCARG(cons_f(nil, x2))) ENCARG(cons_f(x0, cons_f(cons_f(z0, z1), x2))) -> c3(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_f(z0, z1), x2))) ENCARG(cons_f(x0, cons_f(cons_L(z0), x2))) -> c3(F(encArg(x0), f(L(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_f(cons_L(z0), x2))) ENCARG(cons_f(s(z0), cons_f(x1, x2))) -> c3(F(s(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(s(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_f(z0, z1), cons_f(x1, x2))) -> c3(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2))), ENCARG(cons_f(z0, z1)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(cons_L(z0), cons_f(x1, x2))) -> c3(F(L(encArg(z0)), f(encArg(x1), encArg(x2))), ENCARG(cons_L(z0)), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(0, cons_f(x1, x2))) -> c3(F(0, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(nil, cons_f(x1, x2))) -> c3(F(nil, f(encArg(x1), encArg(x2))), ENCARG(cons_f(x1, x2))) ENCARG(cons_f(x0, cons_L(cons_f(z0, z1)))) -> c3(F(encArg(x0), L(f(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_f(x0, cons_L(cons_L(z0)))) -> c3(F(encArg(x0), L(L(encArg(z0)))), ENCARG(x0), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_f(s(z0), cons_L(x1))) -> c3(F(s(encArg(z0)), L(encArg(x1))), ENCARG(s(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_f(z0, z1), cons_L(x1))) -> c3(F(f(encArg(z0), encArg(z1)), L(encArg(x1))), ENCARG(cons_f(z0, z1)), ENCARG(cons_L(x1))) ENCARG(cons_f(cons_L(z0), cons_L(x1))) -> c3(F(L(encArg(z0)), L(encArg(x1))), ENCARG(cons_L(z0)), ENCARG(cons_L(x1))) ENCARG(cons_f(x0, cons_L(s(z0)))) -> c3(ENCARG(x0), ENCARG(cons_L(s(z0)))) ENCARG(cons_f(x0, cons_L(0))) -> c3(ENCARG(x0)) ENCARG(cons_f(x0, cons_L(nil))) -> c3(ENCARG(x0)) ENCARG(cons_f(0, cons_L(x1))) -> c3(F(0, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(nil, cons_L(x1))) -> c3(F(nil, L(encArg(x1))), ENCARG(cons_L(x1))) ENCARG(cons_f(s(s(z0)), x1)) -> c3(F(s(s(encArg(z0))), encArg(x1)), ENCARG(s(s(z0))), ENCARG(x1)) ENCARG(cons_f(s(0), x1)) -> c3(F(s(0), encArg(x1)), ENCARG(s(0)), ENCARG(x1)) ENCARG(cons_f(s(nil), x1)) -> c3(F(s(nil), encArg(x1)), ENCARG(s(nil)), ENCARG(x1)) ENCARG(cons_f(s(cons_f(z0, z1)), x1)) -> c3(F(s(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(s(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(s(cons_L(z0)), x1)) -> c3(F(s(L(encArg(z0))), encArg(x1)), ENCARG(s(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(s(x0), x1)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), s(z0))) -> c3(ENCARG(s(x0)), ENCARG(s(z0))) ENCARG(cons_f(s(x0), 0)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(s(x0), nil)) -> c3(ENCARG(s(x0))) ENCARG(cons_f(cons_f(x0, x1), x2)) -> c3(F(c_f(encArg(x0), encArg(x1)), encArg(x2)), ENCARG(cons_f(x0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, s(z0)), x2)) -> c3(F(f(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, s(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, 0), x2)) -> c3(F(f(encArg(x0), 0), encArg(x2)), ENCARG(cons_f(x0, 0)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, nil), x2)) -> c3(F(f(encArg(x0), nil), encArg(x2)), ENCARG(cons_f(x0, nil)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_f(z0, z1)), x2)) -> c3(F(f(encArg(x0), f(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_f(x0, cons_f(z0, z1))), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, cons_L(z0)), x2)) -> c3(F(f(encArg(x0), L(encArg(z0))), encArg(x2)), ENCARG(cons_f(x0, cons_L(z0))), ENCARG(x2)) ENCARG(cons_f(cons_f(s(z0), x1), x2)) -> c3(F(f(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(s(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(0, x1), x2)) -> c3(F(f(0, encArg(x1)), encArg(x2)), ENCARG(cons_f(0, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(nil, x1), x2)) -> c3(F(f(nil, encArg(x1)), encArg(x2)), ENCARG(cons_f(nil, x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_f(z0, z1), x1), x2)) -> c3(F(f(f(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_f(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(cons_L(z0), x1), x2)) -> c3(F(f(L(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_f(cons_L(z0), x1)), ENCARG(x2)) ENCARG(cons_f(cons_f(x0, x1), s(z0))) -> c3(ENCARG(cons_f(x0, x1)), ENCARG(s(z0))) ENCARG(cons_f(cons_f(x0, x1), 0)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_f(x0, x1), nil)) -> c3(ENCARG(cons_f(x0, x1))) ENCARG(cons_f(cons_L(s(z0)), x1)) -> c3(F(L(s(encArg(z0))), encArg(x1)), ENCARG(cons_L(s(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_f(z0, z1)), x1)) -> c3(F(L(f(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_L(cons_f(z0, z1))), ENCARG(x1)) ENCARG(cons_f(cons_L(cons_L(z0)), x1)) -> c3(F(L(L(encArg(z0))), encArg(x1)), ENCARG(cons_L(cons_L(z0))), ENCARG(x1)) ENCARG(cons_f(cons_L(x0), s(z0))) -> c3(ENCARG(cons_L(x0)), ENCARG(s(z0))) ENCARG(cons_f(cons_L(x0), 0)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(x0), nil)) -> c3(ENCARG(cons_L(x0))) ENCARG(cons_f(cons_L(0), x1)) -> c3(F(L(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(cons_L(nil), x1)) -> c3(F(L(nil), encArg(x1)), ENCARG(x1)) ENCARG(cons_f(0, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_f(nil, s(z0))) -> c3(ENCARG(s(z0))) ENCARG(cons_L(cons_f(x0, x1))) -> c4(L'(c_f(encArg(x0), encArg(x1))), ENCARG(cons_f(x0, x1))) ENCARG(cons_L(cons_f(x0, s(z0)))) -> c4(L'(f(encArg(x0), s(encArg(z0)))), ENCARG(cons_f(x0, s(z0)))) ENCARG(cons_L(cons_f(x0, 0))) -> c4(L'(f(encArg(x0), 0)), ENCARG(cons_f(x0, 0))) ENCARG(cons_L(cons_f(x0, nil))) -> c4(L'(f(encArg(x0), nil)), ENCARG(cons_f(x0, nil))) ENCARG(cons_L(cons_f(x0, cons_f(z0, z1)))) -> c4(L'(f(encArg(x0), f(encArg(z0), encArg(z1)))), ENCARG(cons_f(x0, cons_f(z0, z1)))) ENCARG(cons_L(cons_f(x0, cons_L(z0)))) -> c4(L'(f(encArg(x0), L(encArg(z0)))), ENCARG(cons_f(x0, cons_L(z0)))) ENCARG(cons_L(cons_f(s(z0), x1))) -> c4(L'(f(s(encArg(z0)), encArg(x1))), ENCARG(cons_f(s(z0), x1))) ENCARG(cons_L(cons_f(0, x1))) -> c4(L'(f(0, encArg(x1))), ENCARG(cons_f(0, x1))) ENCARG(cons_L(cons_f(nil, x1))) -> c4(L'(f(nil, encArg(x1))), ENCARG(cons_f(nil, x1))) ENCARG(cons_L(cons_f(cons_f(z0, z1), x1))) -> c4(L'(f(f(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_f(cons_f(z0, z1), x1))) ENCARG(cons_L(cons_f(cons_L(z0), x1))) -> c4(L'(f(L(encArg(z0)), encArg(x1))), ENCARG(cons_f(cons_L(z0), x1))) ENCARG(cons_L(cons_L(cons_f(z0, z1)))) -> c4(L'(L(f(encArg(z0), encArg(z1)))), ENCARG(cons_L(cons_f(z0, z1)))) ENCARG(cons_L(cons_L(cons_L(z0)))) -> c4(L'(L(L(encArg(z0)))), ENCARG(cons_L(cons_L(z0)))) ENCARG(cons_L(cons_L(s(z0)))) -> c4(ENCARG(cons_L(s(z0)))) F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(z0)), c_f(x1, x2))) -> c2(F(s(0), c_f(z0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(s(0), f(x0, c_f(s(x1), z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(s(0), f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c2(F(x0, c_f(s(x1), z1))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(z2), z3))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c2(F(x0, f(s(s(x1)), f(z1, f(s(0), nil))))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) ENCODE_F(x0, cons_f(x1, x2)) -> c1(F(encArg(x0), c_f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_f(x1, s(z0))) -> c1(F(encArg(x0), f(encArg(x1), s(encArg(z0))))) ENCODE_F(x0, cons_f(x1, 0)) -> c1(F(encArg(x0), f(encArg(x1), 0))) ENCODE_F(x0, cons_f(x1, nil)) -> c1(F(encArg(x0), f(encArg(x1), nil))) ENCODE_F(x0, cons_f(x1, cons_f(z0, z1))) -> c1(F(encArg(x0), f(encArg(x1), f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_f(x1, cons_L(z0))) -> c1(F(encArg(x0), f(encArg(x1), L(encArg(z0))))) ENCODE_F(x0, cons_f(s(z0), x2)) -> c1(F(encArg(x0), f(s(encArg(z0)), encArg(x2)))) ENCODE_F(x0, cons_f(0, x2)) -> c1(F(encArg(x0), f(0, encArg(x2)))) ENCODE_F(x0, cons_f(nil, x2)) -> c1(F(encArg(x0), f(nil, encArg(x2)))) ENCODE_F(x0, cons_f(cons_f(z0, z1), x2)) -> c1(F(encArg(x0), f(f(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_F(x0, cons_f(cons_L(z0), x2)) -> c1(F(encArg(x0), f(L(encArg(z0)), encArg(x2)))) ENCODE_F(s(z0), cons_f(x1, x2)) -> c1(F(s(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(0, cons_f(x1, x2)) -> c1(F(0, f(encArg(x1), encArg(x2)))) ENCODE_F(nil, cons_f(x1, x2)) -> c1(F(nil, f(encArg(x1), encArg(x2)))) ENCODE_F(cons_f(z0, z1), cons_f(x1, x2)) -> c1(F(f(encArg(z0), encArg(z1)), f(encArg(x1), encArg(x2)))) ENCODE_F(cons_L(z0), cons_f(x1, x2)) -> c1(F(L(encArg(z0)), f(encArg(x1), encArg(x2)))) ENCODE_F(x0, cons_L(cons_f(z0, z1))) -> c1(F(encArg(x0), L(f(encArg(z0), encArg(z1))))) ENCODE_F(x0, cons_L(cons_L(z0))) -> c1(F(encArg(x0), L(L(encArg(z0))))) ENCODE_F(s(z0), cons_L(x1)) -> c1(F(s(encArg(z0)), L(encArg(x1)))) ENCODE_F(0, cons_L(x1)) -> c1(F(0, L(encArg(x1)))) ENCODE_F(nil, cons_L(x1)) -> c1(F(nil, L(encArg(x1)))) ENCODE_F(cons_f(z0, z1), cons_L(x1)) -> c1(F(f(encArg(z0), encArg(z1)), L(encArg(x1)))) ENCODE_F(cons_L(z0), cons_L(x1)) -> c1(F(L(encArg(z0)), L(encArg(x1)))) ENCODE_F(s(s(z0)), x1) -> c1(F(s(s(encArg(z0))), encArg(x1))) ENCODE_F(s(0), x1) -> c1(F(s(0), encArg(x1))) ENCODE_F(s(nil), x1) -> c1(F(s(nil), encArg(x1))) ENCODE_F(s(cons_f(z0, z1)), x1) -> c1(F(s(f(encArg(z0), encArg(z1))), encArg(x1))) ENCODE_F(s(cons_L(z0)), x1) -> c1(F(s(L(encArg(z0))), encArg(x1))) S tuples: F(x0, c_f(s(s(x1)), c_f(x2, z1))) -> c11(F(s(x0), c_f(x1, c_f(s(x2), z1))), F(x1, f(s(x2), z1)), F(s(x2), z1)) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), c_f(z2, z3))))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(z2), z3))))), F(x1, f(s(x2), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x2), c_f(s(s(z1)), c_f(z2, z3)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z1)), nil)))) -> c11(F(s(x0), c_f(x1, f(s(s(x2)), f(z1, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z1)), nil))), F(s(x2), c_f(s(s(z1)), nil))) F(x0, c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(z2), z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) F(x0, c_f(s(s(x1)), c_f(x2, x3))) -> c11(F(x1, f(s(x2), x3)), F(s(x2), x3)) F(x0, c_f(s(s(z0)), c_f(s(z1), nil))) -> c11(F(s(x0), f(s(z0), f(z1, f(s(0), nil)))), F(z0, f(s(s(z1)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), c_f(x4, x5))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(x4), x5))))), F(x1, f(s(x2), c_f(s(s(z0)), c_f(x4, x5)))), F(s(x2), c_f(s(s(z0)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, z1))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(x4), z1))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, z1)))), F(s(x2), c_f(s(s(x3)), c_f(x4, z1)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3))))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(z2), z3))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), c_f(z2, z3)))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil)))))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, f(s(s(x4)), f(z1, f(s(0), nil))))))), F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))), F(s(x2), c_f(s(s(x3)), c_f(x4, c_f(s(s(z1)), nil))))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), c_f(x4, x5))))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), c_f(x4, x5)))), F(s(x2), c_f(s(s(x3)), c_f(x4, x5)))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, c_f(s(s(x2)), f(x3, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(z0)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), c_f(z0, f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(z0)), nil))), F(s(x2), c_f(s(s(z0)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(s(x0), f(x1, f(s(s(x2)), f(x3, c_f(s(0), nil))))), F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) F(x0, c_f(s(s(x1)), c_f(x2, c_f(s(s(x3)), nil)))) -> c11(F(x1, f(s(x2), c_f(s(s(x3)), nil))), F(s(x2), c_f(s(s(x3)), nil))) L'(c_f(s(s(x0)), c_f(x1, z1))) -> c13(L'(f(s(0), c_f(x0, c_f(s(x1), z1)))), F(s(0), f(x0, f(s(x1), z1))), F(x0, f(s(x1), z1)), F(s(x1), z1)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), c_f(z2, z3))))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(z2), z3)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3))))), F(x0, f(s(x1), c_f(s(s(z1)), c_f(z2, z3)))), F(s(x1), c_f(s(s(z1)), c_f(z2, z3)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z1)), nil)))) -> c13(L'(f(s(0), c_f(x0, f(s(s(x1)), f(z1, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z1)), nil)))), F(x0, f(s(x1), c_f(s(s(z1)), nil))), F(s(x1), c_f(s(s(z1)), nil))) L'(c_f(s(s(z0)), c_f(s(z1), c_f(z2, z3)))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(z2), z3))))), F(s(0), f(z0, f(s(s(z1)), c_f(z2, z3)))), F(z0, f(s(s(z1)), c_f(z2, z3))), F(s(s(z1)), c_f(z2, z3))) L'(c_f(s(s(z0)), c_f(s(z1), nil))) -> c13(L'(f(s(0), f(s(z0), f(z1, f(s(0), nil))))), F(s(0), f(z0, f(s(s(z1)), nil))), F(z0, f(s(s(z1)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))), F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), c_f(x3, x4))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(x3), x4)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4))))), F(x0, f(s(x1), c_f(s(s(z0)), c_f(x3, x4)))), F(s(x1), c_f(s(s(z0)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, z1))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(x3), z1)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, z1)))), F(s(x1), c_f(s(s(x2)), c_f(x3, z1)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(z2), z3)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3))))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), c_f(z2, z3)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, f(s(s(x3)), f(z1, f(s(0), nil)))))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil)))))), F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))), F(s(x1), c_f(s(s(x2)), c_f(x3, c_f(s(s(z1)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, c_f(s(s(x1)), f(x2, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(z0)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), c_f(z0, f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(z0)), nil)))), F(x0, f(s(x1), c_f(s(s(z0)), nil))), F(s(x1), c_f(s(s(z0)), nil))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c13(L'(f(s(0), f(x0, f(s(s(x1)), f(x2, c_f(s(0), nil)))))), F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil)))), F(x0, f(s(x1), c_f(s(s(x2)), nil))), F(s(x1), c_f(s(s(x2)), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(s(x0), c_f(x1, c_f(s(0), nil))), F(x1, f(s(0), nil))) F(x0, c_f(s(s(x1)), nil)) -> c12(F(x1, f(s(0), nil))) K tuples: L'(c_f(s(s(x0)), c_f(x1, x2))) -> c2(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c13(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c5(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(0), f(x0, f(s(x1), x2)))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(x0, f(s(x1), x2))) L'(c_f(s(s(x0)), c_f(x1, x2))) -> c6(F(s(x1), x2)) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4)))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(x0, f(s(x1), c_f(s(s(x2)), c_f(x3, x4))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), c_f(x3, x4))))) -> c7(F(s(x1), c_f(s(s(x2)), c_f(x3, x4)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(0), f(x0, f(s(x1), c_f(s(s(x2)), nil))))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(x0, f(s(x1), c_f(s(s(x2)), nil)))) L'(c_f(s(s(x0)), c_f(x1, c_f(s(s(x2)), nil)))) -> c8(F(s(x1), c_f(s(s(x2)), nil))) Defined Rule Symbols: encArg_1, f_2, L_1 Defined Pair Symbols: ENCARG_1, L'_1, ENCODE_F_2, ENCODE_L_1, F_2 Compound Symbols: c_1, c3_2, c3_1, c4_1, c2_1, c1_1, c3_3, c4_2, c11_3, c11_2, c13_4, c13_1, c5_1, c13_3, c6_1, c7_1, c8_1, c12_2, c12_1