/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- KILLED proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) 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), 199 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) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (12) TRS for Loop Detection (13) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (14) CpxTRS (15) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (16) CpxRelTRS (17) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxWeightedTrs (19) CpxWeightedTrsRenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxWeightedTrs (21) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxTypedWeightedTrs (23) CompletionProof [UPPER BOUND(ID), 0 ms] (24) CpxTypedWeightedCompleteTrs (25) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CpxTypedWeightedCompleteTrs (27) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 1 ms] (28) CpxRNTS (29) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxRNTS (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 24 ms] (34) CpxRNTS (35) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (36) CdtProblem (37) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (44) CdtProblem (45) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtRuleRemovalProof [UPPER BOUND(ADD(n^2)), 2542 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (54) CdtProblem (55) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 3 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (80) CdtProblem (81) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 11 ms] (96) CdtProblem (97) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 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) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (128) CdtProblem (129) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (136) CdtProblem (137) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CdtProblem (163) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (164) CdtProblem (165) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (166) CdtProblem (167) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (168) CdtProblem (169) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CdtProblem (171) CdtLeafRemovalProof [ComplexityIfPolyImplication, 2 ms] (172) CdtProblem (173) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (174) CdtProblem (175) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (176) CdtProblem (177) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 9 ms] (178) CdtProblem (179) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (180) CdtProblem (181) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 9 ms] (182) CdtProblem (183) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (184) CdtProblem (185) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (186) CdtProblem (187) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 12 ms] (188) CdtProblem (189) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (190) CdtProblem (191) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (192) CdtProblem (193) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (194) CdtProblem (195) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (196) CdtProblem (197) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (198) CdtProblem (199) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (200) CdtProblem (201) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (202) CdtProblem (203) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 9 ms] (204) CdtProblem (205) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (206) CdtProblem (207) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (208) CdtProblem (209) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (210) CdtProblem (211) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 18 ms] (212) CdtProblem (213) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (214) CdtProblem (215) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (216) CdtProblem (217) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (218) CdtProblem (219) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 168 ms] (220) CdtProblem (221) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 99 ms] (222) CdtProblem (223) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (224) CdtProblem (225) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 69 ms] (226) CdtProblem (227) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (228) CdtProblem (229) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 65 ms] (230) CdtProblem (231) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (232) CdtProblem ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(x, y), z) -> +(x, +(y, z)) +(p1, +(p1, x)) -> +(p2, x) +(p1, +(p2, +(p2, x))) -> +(p5, x) +(p2, p1) -> +(p1, p2) +(p2, +(p1, x)) -> +(p1, +(p2, x)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, x))) -> +(p1, +(p5, x)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, x)) -> +(p1, +(p5, x)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, x)) -> +(p2, +(p5, x)) +(p5, +(p5, x)) -> +(p10, x) +(p10, p1) -> +(p1, p10) +(p10, +(p1, x)) -> +(p1, +(p10, x)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, x)) -> +(p2, +(p10, x)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, x)) -> +(p5, +(p10, x)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (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(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 ---------------------------------------- (2) 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: +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(x, y), z) -> +(x, +(y, z)) +(p1, +(p1, x)) -> +(p2, x) +(p1, +(p2, +(p2, x))) -> +(p5, x) +(p2, p1) -> +(p1, p2) +(p2, +(p1, x)) -> +(p1, +(p2, x)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, x))) -> +(p1, +(p5, x)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, x)) -> +(p1, +(p5, x)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, x)) -> +(p2, +(p5, x)) +(p5, +(p5, x)) -> +(p10, x) +(p10, p1) -> +(p1, p10) +(p10, +(p1, x)) -> +(p1, +(p10, x)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, x)) -> +(p2, +(p10, x)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, x)) -> +(p5, +(p10, x)) The (relative) TRS S consists of the following rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) 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: +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(x, y), z) -> +(x, +(y, z)) +(p1, +(p1, x)) -> +(p2, x) +(p1, +(p2, +(p2, x))) -> +(p5, x) +(p2, p1) -> +(p1, p2) +(p2, +(p1, x)) -> +(p1, +(p2, x)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, x))) -> +(p1, +(p5, x)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, x)) -> +(p1, +(p5, x)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, x)) -> +(p2, +(p5, x)) +(p5, +(p5, x)) -> +(p10, x) +(p10, p1) -> +(p1, p10) +(p10, +(p1, x)) -> +(p1, +(p10, x)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, x)) -> +(p2, +(p10, x)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, x)) -> +(p5, +(p10, x)) The (relative) TRS S consists of the following rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 Rewrite Strategy: INNERMOST ---------------------------------------- (5) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (6) 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: +'(p1, p1) -> p2 +'(p1, +'(p2, p2)) -> p5 +'(p5, p5) -> p10 +'(+'(x, y), z) -> +'(x, +'(y, z)) +'(p1, +'(p1, x)) -> +'(p2, x) +'(p1, +'(p2, +'(p2, x))) -> +'(p5, x) +'(p2, p1) -> +'(p1, p2) +'(p2, +'(p1, x)) -> +'(p1, +'(p2, x)) +'(p2, +'(p2, p2)) -> +'(p1, p5) +'(p2, +'(p2, +'(p2, x))) -> +'(p1, +'(p5, x)) +'(p5, p1) -> +'(p1, p5) +'(p5, +'(p1, x)) -> +'(p1, +'(p5, x)) +'(p5, p2) -> +'(p2, p5) +'(p5, +'(p2, x)) -> +'(p2, +'(p5, x)) +'(p5, +'(p5, x)) -> +'(p10, x) +'(p10, p1) -> +'(p1, p10) +'(p10, +'(p1, x)) -> +'(p1, +'(p10, x)) +'(p10, p2) -> +'(p2, p10) +'(p10, +'(p2, x)) -> +'(p2, +'(p10, x)) +'(p10, p5) -> +'(p5, p10) +'(p10, +'(p5, x)) -> +'(p5, +'(p10, x)) The (relative) TRS S consists of the following rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +'(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +'(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: +'(p1, p1) -> p2 +'(p1, +'(p2, p2)) -> p5 +'(p5, p5) -> p10 +'(+'(x, y), z) -> +'(x, +'(y, z)) +'(p1, +'(p1, x)) -> +'(p2, x) +'(p1, +'(p2, +'(p2, x))) -> +'(p5, x) +'(p2, p1) -> +'(p1, p2) +'(p2, +'(p1, x)) -> +'(p1, +'(p2, x)) +'(p2, +'(p2, p2)) -> +'(p1, p5) +'(p2, +'(p2, +'(p2, x))) -> +'(p1, +'(p5, x)) +'(p5, p1) -> +'(p1, p5) +'(p5, +'(p1, x)) -> +'(p1, +'(p5, x)) +'(p5, p2) -> +'(p2, p5) +'(p5, +'(p2, x)) -> +'(p2, +'(p5, x)) +'(p5, +'(p5, x)) -> +'(p10, x) +'(p10, p1) -> +'(p1, p10) +'(p10, +'(p1, x)) -> +'(p1, +'(p10, x)) +'(p10, p2) -> +'(p2, p10) +'(p10, +'(p2, x)) -> +'(p2, +'(p10, x)) +'(p10, p5) -> +'(p5, p10) +'(p10, +'(p5, x)) -> +'(p5, +'(p10, x)) encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +'(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +'(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 Types: +' :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ p1 :: p1:p2:p5:p10:cons_+ p2 :: p1:p2:p5:p10:cons_+ p5 :: p1:p2:p5:p10:cons_+ p10 :: p1:p2:p5:p10:cons_+ encArg :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ cons_+ :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ encode_+ :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ encode_p1 :: p1:p2:p5:p10:cons_+ encode_p2 :: p1:p2:p5:p10:cons_+ encode_p5 :: p1:p2:p5:p10:cons_+ encode_p10 :: p1:p2:p5:p10:cons_+ hole_p1:p2:p5:p10:cons_+1_3 :: p1:p2:p5:p10:cons_+ gen_p1:p2:p5:p10:cons_+2_3 :: Nat -> p1:p2:p5:p10:cons_+ ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: +', encArg They will be analysed ascendingly in the following order: +' < encArg ---------------------------------------- (10) Obligation: Innermost TRS: Rules: +'(p1, p1) -> p2 +'(p1, +'(p2, p2)) -> p5 +'(p5, p5) -> p10 +'(+'(x, y), z) -> +'(x, +'(y, z)) +'(p1, +'(p1, x)) -> +'(p2, x) +'(p1, +'(p2, +'(p2, x))) -> +'(p5, x) +'(p2, p1) -> +'(p1, p2) +'(p2, +'(p1, x)) -> +'(p1, +'(p2, x)) +'(p2, +'(p2, p2)) -> +'(p1, p5) +'(p2, +'(p2, +'(p2, x))) -> +'(p1, +'(p5, x)) +'(p5, p1) -> +'(p1, p5) +'(p5, +'(p1, x)) -> +'(p1, +'(p5, x)) +'(p5, p2) -> +'(p2, p5) +'(p5, +'(p2, x)) -> +'(p2, +'(p5, x)) +'(p5, +'(p5, x)) -> +'(p10, x) +'(p10, p1) -> +'(p1, p10) +'(p10, +'(p1, x)) -> +'(p1, +'(p10, x)) +'(p10, p2) -> +'(p2, p10) +'(p10, +'(p2, x)) -> +'(p2, +'(p10, x)) +'(p10, p5) -> +'(p5, p10) +'(p10, +'(p5, x)) -> +'(p5, +'(p10, x)) encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +'(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +'(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 Types: +' :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ p1 :: p1:p2:p5:p10:cons_+ p2 :: p1:p2:p5:p10:cons_+ p5 :: p1:p2:p5:p10:cons_+ p10 :: p1:p2:p5:p10:cons_+ encArg :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ cons_+ :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ encode_+ :: p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ -> p1:p2:p5:p10:cons_+ encode_p1 :: p1:p2:p5:p10:cons_+ encode_p2 :: p1:p2:p5:p10:cons_+ encode_p5 :: p1:p2:p5:p10:cons_+ encode_p10 :: p1:p2:p5:p10:cons_+ hole_p1:p2:p5:p10:cons_+1_3 :: p1:p2:p5:p10:cons_+ gen_p1:p2:p5:p10:cons_+2_3 :: Nat -> p1:p2:p5:p10:cons_+ Generator Equations: gen_p1:p2:p5:p10:cons_+2_3(0) <=> p1 gen_p1:p2:p5:p10:cons_+2_3(+(x, 1)) <=> cons_+(p1, gen_p1:p2:p5:p10:cons_+2_3(x)) The following defined symbols remain to be analysed: +', encArg They will be analysed ascendingly in the following order: +' < encArg ---------------------------------------- (11) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (12) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(x, y), z) -> +(x, +(y, z)) +(p1, +(p1, x)) -> +(p2, x) +(p1, +(p2, +(p2, x))) -> +(p5, x) +(p2, p1) -> +(p1, p2) +(p2, +(p1, x)) -> +(p1, +(p2, x)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, x))) -> +(p1, +(p5, x)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, x)) -> +(p1, +(p5, x)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, x)) -> +(p2, +(p5, x)) +(p5, +(p5, x)) -> +(p10, x) +(p10, p1) -> +(p1, p10) +(p10, +(p1, x)) -> +(p1, +(p10, x)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, x)) -> +(p2, +(p10, x)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, x)) -> +(p5, +(p10, x)) The (relative) TRS S consists of the following rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 Rewrite Strategy: INNERMOST ---------------------------------------- (13) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (14) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(x, y), z) -> +(x, +(y, z)) +(p1, +(p1, x)) -> +(p2, x) +(p1, +(p2, +(p2, x))) -> +(p5, x) +(p2, p1) -> +(p1, p2) +(p2, +(p1, x)) -> +(p1, +(p2, x)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, x))) -> +(p1, +(p5, x)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, x)) -> +(p1, +(p5, x)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, x)) -> +(p2, +(p5, x)) +(p5, +(p5, x)) -> +(p10, x) +(p10, p1) -> +(p1, p10) +(p10, +(p1, x)) -> +(p1, +(p10, x)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, x)) -> +(p2, +(p10, x)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, x)) -> +(p5, +(p10, x)) encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (15) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (16) 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: +(p1, p1) -> p2 +(p5, p5) -> p10 +(p2, p1) -> +(p1, p2) +(p5, p1) -> +(p1, p5) +(p5, p2) -> +(p2, p5) +(p10, p1) -> +(p1, p10) +(p10, p2) -> +(p2, p10) +(p10, p5) -> +(p5, p10) +(c_+(x, y), z) -> +(x, +(y, z)) +(p1, c_+(p2, c_+(p2, x))) -> +(p5, x) +(p5, c_+(p1, x)) -> +(p1, +(p5, x)) +(p5, c_+(p5, x)) -> +(p10, x) +(p10, c_+(p2, x)) -> +(p2, +(p10, x)) +(p2, c_+(p2, p2)) -> +(p1, p5) +(p1, c_+(p1, x)) -> +(p2, x) +(p10, c_+(p1, x)) -> +(p1, +(p10, x)) +(p5, c_+(p2, x)) -> +(p2, +(p5, x)) +(p10, c_+(p5, x)) -> +(p5, +(p10, x)) +(p2, c_+(p2, c_+(p2, x))) -> +(p1, +(p5, x)) +(p2, c_+(p1, x)) -> +(p1, +(p2, x)) +(p1, c_+(p2, p2)) -> p5 The (relative) TRS S consists of the following rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 +(x0, x1) -> c_+(x0, x1) Rewrite Strategy: INNERMOST ---------------------------------------- (17) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (18) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: +(p1, p1) -> p2 [1] +(p5, p5) -> p10 [1] +(p2, p1) -> +(p1, p2) [1] +(p5, p1) -> +(p1, p5) [1] +(p5, p2) -> +(p2, p5) [1] +(p10, p1) -> +(p1, p10) [1] +(p10, p2) -> +(p2, p10) [1] +(p10, p5) -> +(p5, p10) [1] +(c_+(x, y), z) -> +(x, +(y, z)) [1] +(p1, c_+(p2, c_+(p2, x))) -> +(p5, x) [1] +(p5, c_+(p1, x)) -> +(p1, +(p5, x)) [1] +(p5, c_+(p5, x)) -> +(p10, x) [1] +(p10, c_+(p2, x)) -> +(p2, +(p10, x)) [1] +(p2, c_+(p2, p2)) -> +(p1, p5) [1] +(p1, c_+(p1, x)) -> +(p2, x) [1] +(p10, c_+(p1, x)) -> +(p1, +(p10, x)) [1] +(p5, c_+(p2, x)) -> +(p2, +(p5, x)) [1] +(p10, c_+(p5, x)) -> +(p5, +(p10, x)) [1] +(p2, c_+(p2, c_+(p2, x))) -> +(p1, +(p5, x)) [1] +(p2, c_+(p1, x)) -> +(p1, +(p2, x)) [1] +(p1, c_+(p2, p2)) -> p5 [1] encArg(p1) -> p1 [0] encArg(p2) -> p2 [0] encArg(p5) -> p5 [0] encArg(p10) -> p10 [0] encArg(cons_+(x_1, x_2)) -> +(encArg(x_1), encArg(x_2)) [0] encode_+(x_1, x_2) -> +(encArg(x_1), encArg(x_2)) [0] encode_p1 -> p1 [0] encode_p2 -> p2 [0] encode_p5 -> p5 [0] encode_p10 -> p10 [0] +(x0, x1) -> c_+(x0, x1) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (19) CpxWeightedTrsRenamingProof (BOTH BOUNDS(ID, ID)) Renamed defined symbols to avoid conflicts with arithmetic symbols: + => plus ---------------------------------------- (20) 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: plus(p1, p1) -> p2 [1] plus(p5, p5) -> p10 [1] plus(p2, p1) -> plus(p1, p2) [1] plus(p5, p1) -> plus(p1, p5) [1] plus(p5, p2) -> plus(p2, p5) [1] plus(p10, p1) -> plus(p1, p10) [1] plus(p10, p2) -> plus(p2, p10) [1] plus(p10, p5) -> plus(p5, p10) [1] plus(c_+(x, y), z) -> plus(x, plus(y, z)) [1] plus(p1, c_+(p2, c_+(p2, x))) -> plus(p5, x) [1] plus(p5, c_+(p1, x)) -> plus(p1, plus(p5, x)) [1] plus(p5, c_+(p5, x)) -> plus(p10, x) [1] plus(p10, c_+(p2, x)) -> plus(p2, plus(p10, x)) [1] plus(p2, c_+(p2, p2)) -> plus(p1, p5) [1] plus(p1, c_+(p1, x)) -> plus(p2, x) [1] plus(p10, c_+(p1, x)) -> plus(p1, plus(p10, x)) [1] plus(p5, c_+(p2, x)) -> plus(p2, plus(p5, x)) [1] plus(p10, c_+(p5, x)) -> plus(p5, plus(p10, x)) [1] plus(p2, c_+(p2, c_+(p2, x))) -> plus(p1, plus(p5, x)) [1] plus(p2, c_+(p1, x)) -> plus(p1, plus(p2, x)) [1] plus(p1, c_+(p2, p2)) -> p5 [1] encArg(p1) -> p1 [0] encArg(p2) -> p2 [0] encArg(p5) -> p5 [0] encArg(p10) -> p10 [0] encArg(cons_+(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encode_+(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_p1 -> p1 [0] encode_p2 -> p2 [0] encode_p5 -> p5 [0] encode_p10 -> p10 [0] plus(x0, x1) -> c_+(x0, x1) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (21) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (22) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: plus(p1, p1) -> p2 [1] plus(p5, p5) -> p10 [1] plus(p2, p1) -> plus(p1, p2) [1] plus(p5, p1) -> plus(p1, p5) [1] plus(p5, p2) -> plus(p2, p5) [1] plus(p10, p1) -> plus(p1, p10) [1] plus(p10, p2) -> plus(p2, p10) [1] plus(p10, p5) -> plus(p5, p10) [1] plus(c_+(x, y), z) -> plus(x, plus(y, z)) [1] plus(p1, c_+(p2, c_+(p2, x))) -> plus(p5, x) [1] plus(p5, c_+(p1, x)) -> plus(p1, plus(p5, x)) [1] plus(p5, c_+(p5, x)) -> plus(p10, x) [1] plus(p10, c_+(p2, x)) -> plus(p2, plus(p10, x)) [1] plus(p2, c_+(p2, p2)) -> plus(p1, p5) [1] plus(p1, c_+(p1, x)) -> plus(p2, x) [1] plus(p10, c_+(p1, x)) -> plus(p1, plus(p10, x)) [1] plus(p5, c_+(p2, x)) -> plus(p2, plus(p5, x)) [1] plus(p10, c_+(p5, x)) -> plus(p5, plus(p10, x)) [1] plus(p2, c_+(p2, c_+(p2, x))) -> plus(p1, plus(p5, x)) [1] plus(p2, c_+(p1, x)) -> plus(p1, plus(p2, x)) [1] plus(p1, c_+(p2, p2)) -> p5 [1] encArg(p1) -> p1 [0] encArg(p2) -> p2 [0] encArg(p5) -> p5 [0] encArg(p10) -> p10 [0] encArg(cons_+(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encode_+(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_p1 -> p1 [0] encode_p2 -> p2 [0] encode_p5 -> p5 [0] encode_p10 -> p10 [0] plus(x0, x1) -> c_+(x0, x1) [0] The TRS has the following type information: plus :: p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ p1 :: p1:p2:p5:p10:c_+:cons_+ p2 :: p1:p2:p5:p10:c_+:cons_+ p5 :: p1:p2:p5:p10:c_+:cons_+ p10 :: p1:p2:p5:p10:c_+:cons_+ c_+ :: p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ encArg :: p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ cons_+ :: p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ encode_+ :: p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ -> p1:p2:p5:p10:c_+:cons_+ encode_p1 :: p1:p2:p5:p10:c_+:cons_+ encode_p2 :: p1:p2:p5:p10:c_+:cons_+ encode_p5 :: p1:p2:p5:p10:c_+:cons_+ encode_p10 :: p1:p2:p5:p10:c_+:cons_+ Rewrite Strategy: INNERMOST ---------------------------------------- (23) 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: encArg_1 encode_+_2 encode_p1 encode_p2 encode_p5 encode_p10 plus_2 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_+(v0, v1) -> null_encode_+ [0] encode_p1 -> null_encode_p1 [0] encode_p2 -> null_encode_p2 [0] encode_p5 -> null_encode_p5 [0] encode_p10 -> null_encode_p10 [0] plus(v0, v1) -> null_plus [0] And the following fresh constants: null_encArg, null_encode_+, null_encode_p1, null_encode_p2, null_encode_p5, null_encode_p10, null_plus ---------------------------------------- (24) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: plus(p1, p1) -> p2 [1] plus(p5, p5) -> p10 [1] plus(p2, p1) -> plus(p1, p2) [1] plus(p5, p1) -> plus(p1, p5) [1] plus(p5, p2) -> plus(p2, p5) [1] plus(p10, p1) -> plus(p1, p10) [1] plus(p10, p2) -> plus(p2, p10) [1] plus(p10, p5) -> plus(p5, p10) [1] plus(c_+(x, y), z) -> plus(x, plus(y, z)) [1] plus(p1, c_+(p2, c_+(p2, x))) -> plus(p5, x) [1] plus(p5, c_+(p1, x)) -> plus(p1, plus(p5, x)) [1] plus(p5, c_+(p5, x)) -> plus(p10, x) [1] plus(p10, c_+(p2, x)) -> plus(p2, plus(p10, x)) [1] plus(p2, c_+(p2, p2)) -> plus(p1, p5) [1] plus(p1, c_+(p1, x)) -> plus(p2, x) [1] plus(p10, c_+(p1, x)) -> plus(p1, plus(p10, x)) [1] plus(p5, c_+(p2, x)) -> plus(p2, plus(p5, x)) [1] plus(p10, c_+(p5, x)) -> plus(p5, plus(p10, x)) [1] plus(p2, c_+(p2, c_+(p2, x))) -> plus(p1, plus(p5, x)) [1] plus(p2, c_+(p1, x)) -> plus(p1, plus(p2, x)) [1] plus(p1, c_+(p2, p2)) -> p5 [1] encArg(p1) -> p1 [0] encArg(p2) -> p2 [0] encArg(p5) -> p5 [0] encArg(p10) -> p10 [0] encArg(cons_+(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encode_+(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_p1 -> p1 [0] encode_p2 -> p2 [0] encode_p5 -> p5 [0] encode_p10 -> p10 [0] plus(x0, x1) -> c_+(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_+(v0, v1) -> null_encode_+ [0] encode_p1 -> null_encode_p1 [0] encode_p2 -> null_encode_p2 [0] encode_p5 -> null_encode_p5 [0] encode_p10 -> null_encode_p10 [0] plus(v0, v1) -> null_plus [0] The TRS has the following type information: plus :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus c_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encArg :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus cons_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encArg :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_plus :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus Rewrite Strategy: INNERMOST ---------------------------------------- (25) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (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: plus(p1, p1) -> p2 [1] plus(p5, p5) -> p10 [1] plus(p2, p1) -> plus(p1, p2) [1] plus(p5, p1) -> plus(p1, p5) [1] plus(p5, p2) -> plus(p2, p5) [1] plus(p10, p1) -> plus(p1, p10) [1] plus(p10, p2) -> plus(p2, p10) [1] plus(p10, p5) -> plus(p5, p10) [1] plus(c_+(x, y), z) -> plus(x, plus(y, z)) [1] plus(p1, c_+(p2, c_+(p2, x))) -> plus(p5, x) [1] plus(p5, c_+(p1, p5)) -> plus(p1, p10) [2] plus(p5, c_+(p1, p1)) -> plus(p1, plus(p1, p5)) [2] plus(p5, c_+(p1, p2)) -> plus(p1, plus(p2, p5)) [2] plus(p5, c_+(p1, c_+(p1, x11))) -> plus(p1, plus(p1, plus(p5, x11))) [2] plus(p5, c_+(p1, c_+(p5, x12))) -> plus(p1, plus(p10, x12)) [2] plus(p5, c_+(p1, c_+(p2, x13))) -> plus(p1, plus(p2, plus(p5, x13))) [2] plus(p5, c_+(p1, x)) -> plus(p1, c_+(p5, x)) [1] plus(p5, c_+(p1, x)) -> plus(p1, null_plus) [1] plus(p5, c_+(p5, x)) -> plus(p10, x) [1] plus(p10, c_+(p2, p1)) -> plus(p2, plus(p1, p10)) [2] plus(p10, c_+(p2, p2)) -> plus(p2, plus(p2, p10)) [2] plus(p10, c_+(p2, p5)) -> plus(p2, plus(p5, p10)) [2] plus(p10, c_+(p2, c_+(p2, x14))) -> plus(p2, plus(p2, plus(p10, x14))) [2] plus(p10, c_+(p2, c_+(p1, x15))) -> plus(p2, plus(p1, plus(p10, x15))) [2] plus(p10, c_+(p2, c_+(p5, x16))) -> plus(p2, plus(p5, plus(p10, x16))) [2] plus(p10, c_+(p2, x)) -> plus(p2, c_+(p10, x)) [1] plus(p10, c_+(p2, x)) -> plus(p2, null_plus) [1] plus(p2, c_+(p2, p2)) -> plus(p1, p5) [1] plus(p1, c_+(p1, x)) -> plus(p2, x) [1] plus(p10, c_+(p1, p1)) -> plus(p1, plus(p1, p10)) [2] plus(p10, c_+(p1, p2)) -> plus(p1, plus(p2, p10)) [2] plus(p10, c_+(p1, p5)) -> plus(p1, plus(p5, p10)) [2] plus(p10, c_+(p1, c_+(p2, x17))) -> plus(p1, plus(p2, plus(p10, x17))) [2] plus(p10, c_+(p1, c_+(p1, x18))) -> plus(p1, plus(p1, plus(p10, x18))) [2] plus(p10, c_+(p1, c_+(p5, x19))) -> plus(p1, plus(p5, plus(p10, x19))) [2] plus(p10, c_+(p1, x)) -> plus(p1, c_+(p10, x)) [1] plus(p10, c_+(p1, x)) -> plus(p1, null_plus) [1] plus(p5, c_+(p2, p5)) -> plus(p2, p10) [2] plus(p5, c_+(p2, p1)) -> plus(p2, plus(p1, p5)) [2] plus(p5, c_+(p2, p2)) -> plus(p2, plus(p2, p5)) [2] plus(p5, c_+(p2, c_+(p1, x20))) -> plus(p2, plus(p1, plus(p5, x20))) [2] plus(p5, c_+(p2, c_+(p5, x21))) -> plus(p2, plus(p10, x21)) [2] plus(p5, c_+(p2, c_+(p2, x22))) -> plus(p2, plus(p2, plus(p5, x22))) [2] plus(p5, c_+(p2, x)) -> plus(p2, c_+(p5, x)) [1] plus(p5, c_+(p2, x)) -> plus(p2, null_plus) [1] plus(p10, c_+(p5, p1)) -> plus(p5, plus(p1, p10)) [2] plus(p10, c_+(p5, p2)) -> plus(p5, plus(p2, p10)) [2] plus(p10, c_+(p5, p5)) -> plus(p5, plus(p5, p10)) [2] plus(p10, c_+(p5, c_+(p2, x23))) -> plus(p5, plus(p2, plus(p10, x23))) [2] plus(p10, c_+(p5, c_+(p1, x24))) -> plus(p5, plus(p1, plus(p10, x24))) [2] plus(p10, c_+(p5, c_+(p5, x25))) -> plus(p5, plus(p5, plus(p10, x25))) [2] plus(p10, c_+(p5, x)) -> plus(p5, c_+(p10, x)) [1] plus(p10, c_+(p5, x)) -> plus(p5, null_plus) [1] plus(p2, c_+(p2, c_+(p2, p5))) -> plus(p1, p10) [2] plus(p2, c_+(p2, c_+(p2, p1))) -> plus(p1, plus(p1, p5)) [2] plus(p2, c_+(p2, c_+(p2, p2))) -> plus(p1, plus(p2, p5)) [2] plus(p2, c_+(p2, c_+(p2, c_+(p1, x26)))) -> plus(p1, plus(p1, plus(p5, x26))) [2] plus(p2, c_+(p2, c_+(p2, c_+(p5, x27)))) -> plus(p1, plus(p10, x27)) [2] plus(p2, c_+(p2, c_+(p2, c_+(p2, x28)))) -> plus(p1, plus(p2, plus(p5, x28))) [2] plus(p2, c_+(p2, c_+(p2, x))) -> plus(p1, c_+(p5, x)) [1] plus(p2, c_+(p2, c_+(p2, x))) -> plus(p1, null_plus) [1] plus(p2, c_+(p1, p1)) -> plus(p1, plus(p1, p2)) [2] plus(p2, c_+(p1, c_+(p2, p2))) -> plus(p1, plus(p1, p5)) [2] plus(p2, c_+(p1, c_+(p2, c_+(p2, x29)))) -> plus(p1, plus(p1, plus(p5, x29))) [2] plus(p2, c_+(p1, c_+(p1, x30))) -> plus(p1, plus(p1, plus(p2, x30))) [2] plus(p2, c_+(p1, x)) -> plus(p1, c_+(p2, x)) [1] plus(p2, c_+(p1, x)) -> plus(p1, null_plus) [1] plus(p1, c_+(p2, p2)) -> p5 [1] encArg(p1) -> p1 [0] encArg(p2) -> p2 [0] encArg(p5) -> p5 [0] encArg(p10) -> p10 [0] encArg(cons_+(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encode_+(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_p1 -> p1 [0] encode_p2 -> p2 [0] encode_p5 -> p5 [0] encode_p10 -> p10 [0] plus(x0, x1) -> c_+(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_+(v0, v1) -> null_encode_+ [0] encode_p1 -> null_encode_p1 [0] encode_p2 -> null_encode_p2 [0] encode_p5 -> null_encode_p5 [0] encode_p10 -> null_encode_p10 [0] plus(v0, v1) -> null_plus [0] The TRS has the following type information: plus :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus c_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encArg :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus cons_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encArg :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_plus :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus Rewrite Strategy: INNERMOST ---------------------------------------- (27) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: p1 => 0 p2 => 2 p5 => 3 p10 => 1 null_encArg => 0 null_encode_+ => 0 null_encode_p1 => 0 null_encode_p2 => 0 null_encode_p5 => 0 null_encode_p10 => 0 null_plus => 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> 3 :|: z' = 3 encArg(z') -{ 0 }-> 2 :|: z' = 2 encArg(z') -{ 0 }-> 1 :|: z' = 1 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encode_+(z', z'') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_+(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_p1 -{ 0 }-> 0 :|: encode_p10 -{ 0 }-> 1 :|: encode_p10 -{ 0 }-> 0 :|: encode_p2 -{ 0 }-> 2 :|: encode_p2 -{ 0 }-> 0 :|: encode_p5 -{ 0 }-> 3 :|: encode_p5 -{ 0 }-> 0 :|: plus(z', z'') -{ 1 }-> plus(x, plus(y, z)) :|: z'' = z, z >= 0, z' = 1 + x + y, x >= 0, y >= 0 plus(z', z'') -{ 1 }-> plus(3, x) :|: z'' = 1 + 2 + (1 + 2 + x), x >= 0, z' = 0 plus(z', z'') -{ 2 }-> plus(3, plus(3, plus(1, x25))) :|: z'' = 1 + 3 + (1 + 3 + x25), x25 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(3, 1)) :|: z'' = 1 + 3 + 3, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(2, plus(1, x23))) :|: x23 >= 0, z' = 1, z'' = 1 + 3 + (1 + 2 + x23) plus(z', z'') -{ 2 }-> plus(3, plus(2, 1)) :|: z'' = 1 + 3 + 2, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(0, plus(1, x24))) :|: z' = 1, z'' = 1 + 3 + (1 + 0 + x24), x24 >= 0 plus(z', z'') -{ 2 }-> plus(3, plus(0, 1)) :|: z'' = 1 + 3 + 0, z' = 1 plus(z', z'') -{ 1 }-> plus(3, 1) :|: z'' = 3, z' = 1 plus(z', z'') -{ 1 }-> plus(3, 0) :|: x >= 0, z'' = 1 + 3 + x, z' = 1 plus(z', z'') -{ 1 }-> plus(3, 1 + 1 + x) :|: x >= 0, z'' = 1 + 3 + x, z' = 1 plus(z', z'') -{ 1 }-> plus(2, x) :|: x >= 0, z'' = 1 + 0 + x, z' = 0 plus(z', z'') -{ 2 }-> plus(2, plus(3, plus(1, x16))) :|: z'' = 1 + 2 + (1 + 3 + x16), z' = 1, x16 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(3, 1)) :|: z' = 1, z'' = 1 + 2 + 3 plus(z', z'') -{ 2 }-> plus(2, plus(2, plus(3, x22))) :|: z' = 3, z'' = 1 + 2 + (1 + 2 + x22), x22 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(2, plus(1, x14))) :|: x14 >= 0, z' = 1, z'' = 1 + 2 + (1 + 2 + x14) plus(z', z'') -{ 2 }-> plus(2, plus(2, 3)) :|: z' = 3, z'' = 1 + 2 + 2 plus(z', z'') -{ 2 }-> plus(2, plus(2, 1)) :|: z' = 1, z'' = 1 + 2 + 2 plus(z', z'') -{ 2 }-> plus(2, plus(1, x21)) :|: z' = 3, x21 >= 0, z'' = 1 + 2 + (1 + 3 + x21) plus(z', z'') -{ 2 }-> plus(2, plus(0, plus(3, x20))) :|: z' = 3, z'' = 1 + 2 + (1 + 0 + x20), x20 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, plus(1, x15))) :|: z' = 1, z'' = 1 + 2 + (1 + 0 + x15), x15 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, 3)) :|: z' = 3, z'' = 1 + 2 + 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, 1)) :|: z' = 1, z'' = 1 + 2 + 0 plus(z', z'') -{ 1 }-> plus(2, 3) :|: z' = 3, z'' = 2 plus(z', z'') -{ 1 }-> plus(2, 1) :|: z' = 1, z'' = 2 plus(z', z'') -{ 2 }-> plus(2, 1) :|: z' = 3, z'' = 1 + 2 + 3 plus(z', z'') -{ 1 }-> plus(2, 0) :|: x >= 0, z'' = 1 + 2 + x, z' = 1 plus(z', z'') -{ 1 }-> plus(2, 0) :|: z' = 3, x >= 0, z'' = 1 + 2 + x plus(z', z'') -{ 1 }-> plus(2, 1 + 3 + x) :|: z' = 3, x >= 0, z'' = 1 + 2 + x plus(z', z'') -{ 1 }-> plus(2, 1 + 1 + x) :|: x >= 0, z'' = 1 + 2 + x, z' = 1 plus(z', z'') -{ 1 }-> plus(1, x) :|: z' = 3, x >= 0, z'' = 1 + 3 + x plus(z', z'') -{ 2 }-> plus(0, plus(3, plus(1, x19))) :|: x19 >= 0, z' = 1, z'' = 1 + 0 + (1 + 3 + x19) plus(z', z'') -{ 2 }-> plus(0, plus(3, 1)) :|: z'' = 1 + 0 + 3, z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(2, plus(3, x13))) :|: x13 >= 0, z' = 3, z'' = 1 + 0 + (1 + 2 + x13) plus(z', z'') -{ 2 }-> plus(0, plus(2, plus(3, x28))) :|: z'' = 1 + 2 + (1 + 2 + (1 + 2 + x28)), z' = 2, x28 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(2, plus(1, x17))) :|: x17 >= 0, z'' = 1 + 0 + (1 + 2 + x17), z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(2, 3)) :|: z' = 3, z'' = 1 + 0 + 2 plus(z', z'') -{ 2 }-> plus(0, plus(2, 3)) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + 2) plus(z', z'') -{ 2 }-> plus(0, plus(2, 1)) :|: z' = 1, z'' = 1 + 0 + 2 plus(z', z'') -{ 2 }-> plus(0, plus(1, x12)) :|: z' = 3, z'' = 1 + 0 + (1 + 3 + x12), x12 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(1, x27)) :|: x27 >= 0, z' = 2, z'' = 1 + 2 + (1 + 2 + (1 + 3 + x27)) plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(3, x11))) :|: z' = 3, x11 >= 0, z'' = 1 + 0 + (1 + 0 + x11) plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(3, x26))) :|: z'' = 1 + 2 + (1 + 2 + (1 + 0 + x26)), z' = 2, x26 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(3, x29))) :|: z'' = 1 + 0 + (1 + 2 + (1 + 2 + x29)), z' = 2, x29 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(2, x30))) :|: x30 >= 0, z' = 2, z'' = 1 + 0 + (1 + 0 + x30) plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(1, x18))) :|: z'' = 1 + 0 + (1 + 0 + x18), x18 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(0, 3)) :|: z' = 3, z'' = 1 + 0 + 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, 3)) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + 0) plus(z', z'') -{ 2 }-> plus(0, plus(0, 3)) :|: z' = 2, z'' = 1 + 0 + (1 + 2 + 2) plus(z', z'') -{ 2 }-> plus(0, plus(0, 2)) :|: z' = 2, z'' = 1 + 0 + 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, 1)) :|: z' = 1, z'' = 1 + 0 + 0 plus(z', z'') -{ 1 }-> plus(0, 3) :|: z'' = 0, z' = 3 plus(z', z'') -{ 1 }-> plus(0, 3) :|: z' = 2, z'' = 1 + 2 + 2 plus(z', z'') -{ 1 }-> plus(0, 2) :|: z'' = 0, z' = 2 plus(z', z'') -{ 1 }-> plus(0, 1) :|: z'' = 0, z' = 1 plus(z', z'') -{ 2 }-> plus(0, 1) :|: z' = 3, z'' = 1 + 0 + 3 plus(z', z'') -{ 2 }-> plus(0, 1) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + 3) plus(z', z'') -{ 1 }-> plus(0, 0) :|: z' = 3, x >= 0, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, 0) :|: x >= 0, z' = 1, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, 0) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + x), x >= 0 plus(z', z'') -{ 1 }-> plus(0, 0) :|: z' = 2, x >= 0, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, 1 + 3 + x) :|: z' = 3, x >= 0, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, 1 + 3 + x) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + x), x >= 0 plus(z', z'') -{ 1 }-> plus(0, 1 + 2 + x) :|: z' = 2, x >= 0, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, 1 + 1 + x) :|: x >= 0, z' = 1, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> 3 :|: z'' = 1 + 2 + 2, z' = 0 plus(z', z'') -{ 1 }-> 2 :|: z'' = 0, z' = 0 plus(z', z'') -{ 1 }-> 1 :|: z' = 3, z'' = 3 plus(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 plus(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = x1, x0 >= 0, x1 >= 0, z' = x0 ---------------------------------------- (29) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> 3 :|: z' = 3 encArg(z') -{ 0 }-> 2 :|: z' = 2 encArg(z') -{ 0 }-> 1 :|: z' = 1 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encode_+(z', z'') -{ 0 }-> plus(encArg(z'), encArg(z'')) :|: z' >= 0, z'' >= 0 encode_+(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_p1 -{ 0 }-> 0 :|: encode_p10 -{ 0 }-> 1 :|: encode_p10 -{ 0 }-> 0 :|: encode_p2 -{ 0 }-> 2 :|: encode_p2 -{ 0 }-> 0 :|: encode_p5 -{ 0 }-> 3 :|: encode_p5 -{ 0 }-> 0 :|: plus(z', z'') -{ 1 }-> plus(x, plus(y, z'')) :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 plus(z', z'') -{ 2 }-> plus(3, plus(3, plus(1, z'' - 8))) :|: z'' - 8 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(3, 1)) :|: z'' = 1 + 3 + 3, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(2, plus(1, z'' - 7))) :|: z'' - 7 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(2, 1)) :|: z'' = 1 + 3 + 2, z' = 1 plus(z', z'') -{ 2 }-> plus(3, plus(0, plus(1, z'' - 5))) :|: z' = 1, z'' - 5 >= 0 plus(z', z'') -{ 2 }-> plus(3, plus(0, 1)) :|: z'' = 1 + 3 + 0, z' = 1 plus(z', z'') -{ 1 }-> plus(3, 1) :|: z'' = 3, z' = 1 plus(z', z'') -{ 1 }-> plus(3, 0) :|: z'' - 4 >= 0, z' = 1 plus(z', z'') -{ 1 }-> plus(3, z'' - 6) :|: z'' - 6 >= 0, z' = 0 plus(z', z'') -{ 1 }-> plus(3, 1 + 1 + (z'' - 4)) :|: z'' - 4 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(2, plus(3, plus(1, z'' - 7))) :|: z' = 1, z'' - 7 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(3, 1)) :|: z' = 1, z'' = 1 + 2 + 3 plus(z', z'') -{ 2 }-> plus(2, plus(2, plus(3, z'' - 6))) :|: z' = 3, z'' - 6 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(2, plus(1, z'' - 6))) :|: z'' - 6 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(2, plus(2, 3)) :|: z' = 3, z'' = 1 + 2 + 2 plus(z', z'') -{ 2 }-> plus(2, plus(2, 1)) :|: z' = 1, z'' = 1 + 2 + 2 plus(z', z'') -{ 2 }-> plus(2, plus(1, z'' - 7)) :|: z' = 3, z'' - 7 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, plus(3, z'' - 4))) :|: z' = 3, z'' - 4 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, plus(1, z'' - 4))) :|: z' = 1, z'' - 4 >= 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, 3)) :|: z' = 3, z'' = 1 + 2 + 0 plus(z', z'') -{ 2 }-> plus(2, plus(0, 1)) :|: z' = 1, z'' = 1 + 2 + 0 plus(z', z'') -{ 1 }-> plus(2, 3) :|: z' = 3, z'' = 2 plus(z', z'') -{ 1 }-> plus(2, 1) :|: z' = 1, z'' = 2 plus(z', z'') -{ 2 }-> plus(2, 1) :|: z' = 3, z'' = 1 + 2 + 3 plus(z', z'') -{ 1 }-> plus(2, 0) :|: z'' - 3 >= 0, z' = 1 plus(z', z'') -{ 1 }-> plus(2, 0) :|: z' = 3, z'' - 3 >= 0 plus(z', z'') -{ 1 }-> plus(2, z'' - 1) :|: z'' - 1 >= 0, z' = 0 plus(z', z'') -{ 1 }-> plus(2, 1 + 3 + (z'' - 3)) :|: z' = 3, z'' - 3 >= 0 plus(z', z'') -{ 1 }-> plus(2, 1 + 1 + (z'' - 3)) :|: z'' - 3 >= 0, z' = 1 plus(z', z'') -{ 1 }-> plus(1, z'' - 4) :|: z' = 3, z'' - 4 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(3, plus(1, z'' - 5))) :|: z'' - 5 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(3, 1)) :|: z'' = 1 + 0 + 3, z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(2, plus(3, z'' - 9))) :|: z' = 2, z'' - 9 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(2, plus(3, z'' - 4))) :|: z'' - 4 >= 0, z' = 3 plus(z', z'') -{ 2 }-> plus(0, plus(2, plus(1, z'' - 4))) :|: z'' - 4 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(2, 3)) :|: z' = 3, z'' = 1 + 0 + 2 plus(z', z'') -{ 2 }-> plus(0, plus(2, 3)) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + 2) plus(z', z'') -{ 2 }-> plus(0, plus(2, 1)) :|: z' = 1, z'' = 1 + 0 + 2 plus(z', z'') -{ 2 }-> plus(0, plus(1, z'' - 5)) :|: z' = 3, z'' - 5 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(1, z'' - 10)) :|: z'' - 10 >= 0, z' = 2 plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(3, z'' - 7))) :|: z' = 2, z'' - 7 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(3, z'' - 2))) :|: z' = 3, z'' - 2 >= 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(2, z'' - 2))) :|: z'' - 2 >= 0, z' = 2 plus(z', z'') -{ 2 }-> plus(0, plus(0, plus(1, z'' - 2))) :|: z'' - 2 >= 0, z' = 1 plus(z', z'') -{ 2 }-> plus(0, plus(0, 3)) :|: z' = 3, z'' = 1 + 0 + 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, 3)) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + 0) plus(z', z'') -{ 2 }-> plus(0, plus(0, 3)) :|: z' = 2, z'' = 1 + 0 + (1 + 2 + 2) plus(z', z'') -{ 2 }-> plus(0, plus(0, 2)) :|: z' = 2, z'' = 1 + 0 + 0 plus(z', z'') -{ 2 }-> plus(0, plus(0, 1)) :|: z' = 1, z'' = 1 + 0 + 0 plus(z', z'') -{ 1 }-> plus(0, 3) :|: z'' = 0, z' = 3 plus(z', z'') -{ 1 }-> plus(0, 3) :|: z' = 2, z'' = 1 + 2 + 2 plus(z', z'') -{ 1 }-> plus(0, 2) :|: z'' = 0, z' = 2 plus(z', z'') -{ 1 }-> plus(0, 1) :|: z'' = 0, z' = 1 plus(z', z'') -{ 2 }-> plus(0, 1) :|: z' = 3, z'' = 1 + 0 + 3 plus(z', z'') -{ 2 }-> plus(0, 1) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + 3) plus(z', z'') -{ 1 }-> plus(0, 0) :|: z' = 3, z'' - 1 >= 0 plus(z', z'') -{ 1 }-> plus(0, 0) :|: z'' - 1 >= 0, z' = 1 plus(z', z'') -{ 1 }-> plus(0, 0) :|: z' = 2, z'' - 6 >= 0 plus(z', z'') -{ 1 }-> plus(0, 0) :|: z' = 2, z'' - 1 >= 0 plus(z', z'') -{ 1 }-> plus(0, 1 + 3 + (z'' - 6)) :|: z' = 2, z'' - 6 >= 0 plus(z', z'') -{ 1 }-> plus(0, 1 + 3 + (z'' - 1)) :|: z' = 3, z'' - 1 >= 0 plus(z', z'') -{ 1 }-> plus(0, 1 + 2 + (z'' - 1)) :|: z' = 2, z'' - 1 >= 0 plus(z', z'') -{ 1 }-> plus(0, 1 + 1 + (z'' - 1)) :|: z'' - 1 >= 0, z' = 1 plus(z', z'') -{ 1 }-> 3 :|: z'' = 1 + 2 + 2, z' = 0 plus(z', z'') -{ 1 }-> 2 :|: z'' = 0, z' = 0 plus(z', z'') -{ 1 }-> 1 :|: z' = 3, z'' = 3 plus(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 plus(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 ---------------------------------------- (31) 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_+(v0, v1) -> null_encode_+ [0] encode_p1 -> null_encode_p1 [0] encode_p2 -> null_encode_p2 [0] encode_p5 -> null_encode_p5 [0] encode_p10 -> null_encode_p10 [0] plus(v0, v1) -> null_plus [0] And the following fresh constants: null_encArg, null_encode_+, null_encode_p1, null_encode_p2, null_encode_p5, null_encode_p10, null_plus ---------------------------------------- (32) 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: plus(p1, p1) -> p2 [1] plus(p5, p5) -> p10 [1] plus(p2, p1) -> plus(p1, p2) [1] plus(p5, p1) -> plus(p1, p5) [1] plus(p5, p2) -> plus(p2, p5) [1] plus(p10, p1) -> plus(p1, p10) [1] plus(p10, p2) -> plus(p2, p10) [1] plus(p10, p5) -> plus(p5, p10) [1] plus(c_+(x, y), z) -> plus(x, plus(y, z)) [1] plus(p1, c_+(p2, c_+(p2, x))) -> plus(p5, x) [1] plus(p5, c_+(p1, x)) -> plus(p1, plus(p5, x)) [1] plus(p5, c_+(p5, x)) -> plus(p10, x) [1] plus(p10, c_+(p2, x)) -> plus(p2, plus(p10, x)) [1] plus(p2, c_+(p2, p2)) -> plus(p1, p5) [1] plus(p1, c_+(p1, x)) -> plus(p2, x) [1] plus(p10, c_+(p1, x)) -> plus(p1, plus(p10, x)) [1] plus(p5, c_+(p2, x)) -> plus(p2, plus(p5, x)) [1] plus(p10, c_+(p5, x)) -> plus(p5, plus(p10, x)) [1] plus(p2, c_+(p2, c_+(p2, x))) -> plus(p1, plus(p5, x)) [1] plus(p2, c_+(p1, x)) -> plus(p1, plus(p2, x)) [1] plus(p1, c_+(p2, p2)) -> p5 [1] encArg(p1) -> p1 [0] encArg(p2) -> p2 [0] encArg(p5) -> p5 [0] encArg(p10) -> p10 [0] encArg(cons_+(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encode_+(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_p1 -> p1 [0] encode_p2 -> p2 [0] encode_p5 -> p5 [0] encode_p10 -> p10 [0] plus(x0, x1) -> c_+(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_+(v0, v1) -> null_encode_+ [0] encode_p1 -> null_encode_p1 [0] encode_p2 -> null_encode_p2 [0] encode_p5 -> null_encode_p5 [0] encode_p10 -> null_encode_p10 [0] plus(v0, v1) -> null_plus [0] The TRS has the following type information: plus :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus c_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encArg :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus cons_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus -> p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus encode_p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encArg :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_+ :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p1 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p2 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p5 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_encode_p10 :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus null_plus :: p1:p2:p5:p10:c_+:cons_+:null_encArg:null_encode_+:null_encode_p1:null_encode_p2:null_encode_p5:null_encode_p10:null_plus Rewrite Strategy: INNERMOST ---------------------------------------- (33) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: p1 => 0 p2 => 2 p5 => 3 p10 => 1 null_encArg => 0 null_encode_+ => 0 null_encode_p1 => 0 null_encode_p2 => 0 null_encode_p5 => 0 null_encode_p10 => 0 null_plus => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> 3 :|: z' = 3 encArg(z') -{ 0 }-> 2 :|: z' = 2 encArg(z') -{ 0 }-> 1 :|: z' = 1 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encode_+(z', z'') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_+(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_p1 -{ 0 }-> 0 :|: encode_p10 -{ 0 }-> 1 :|: encode_p10 -{ 0 }-> 0 :|: encode_p2 -{ 0 }-> 2 :|: encode_p2 -{ 0 }-> 0 :|: encode_p5 -{ 0 }-> 3 :|: encode_p5 -{ 0 }-> 0 :|: plus(z', z'') -{ 1 }-> plus(x, plus(y, z)) :|: z'' = z, z >= 0, z' = 1 + x + y, x >= 0, y >= 0 plus(z', z'') -{ 1 }-> plus(3, x) :|: z'' = 1 + 2 + (1 + 2 + x), x >= 0, z' = 0 plus(z', z'') -{ 1 }-> plus(3, plus(1, x)) :|: x >= 0, z'' = 1 + 3 + x, z' = 1 plus(z', z'') -{ 1 }-> plus(3, 1) :|: z'' = 3, z' = 1 plus(z', z'') -{ 1 }-> plus(2, x) :|: x >= 0, z'' = 1 + 0 + x, z' = 0 plus(z', z'') -{ 1 }-> plus(2, plus(3, x)) :|: z' = 3, x >= 0, z'' = 1 + 2 + x plus(z', z'') -{ 1 }-> plus(2, plus(1, x)) :|: x >= 0, z'' = 1 + 2 + x, z' = 1 plus(z', z'') -{ 1 }-> plus(2, 3) :|: z' = 3, z'' = 2 plus(z', z'') -{ 1 }-> plus(2, 1) :|: z' = 1, z'' = 2 plus(z', z'') -{ 1 }-> plus(1, x) :|: z' = 3, x >= 0, z'' = 1 + 3 + x plus(z', z'') -{ 1 }-> plus(0, plus(3, x)) :|: z' = 3, x >= 0, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, plus(3, x)) :|: z' = 2, z'' = 1 + 2 + (1 + 2 + x), x >= 0 plus(z', z'') -{ 1 }-> plus(0, plus(2, x)) :|: z' = 2, x >= 0, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, plus(1, x)) :|: x >= 0, z' = 1, z'' = 1 + 0 + x plus(z', z'') -{ 1 }-> plus(0, 3) :|: z'' = 0, z' = 3 plus(z', z'') -{ 1 }-> plus(0, 3) :|: z' = 2, z'' = 1 + 2 + 2 plus(z', z'') -{ 1 }-> plus(0, 2) :|: z'' = 0, z' = 2 plus(z', z'') -{ 1 }-> plus(0, 1) :|: z'' = 0, z' = 1 plus(z', z'') -{ 1 }-> 3 :|: z'' = 1 + 2 + 2, z' = 0 plus(z', z'') -{ 1 }-> 2 :|: z'' = 0, z' = 0 plus(z', z'') -{ 1 }-> 1 :|: z' = 3, z'' = 3 plus(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 plus(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = x1, x0 >= 0, x1 >= 0, z' = x0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) encode_+(z0, z1) -> +(encArg(z0), encArg(z1)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: ENCARG(p1) -> c ENCARG(p2) -> c1 ENCARG(p5) -> c2 ENCARG(p10) -> c3 ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_+(z0, z1) -> c5(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_P1 -> c6 ENCODE_P2 -> c7 ENCODE_P5 -> c8 ENCODE_P10 -> c9 +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, p1) -> c16(+'(p1, p2)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, p2)) -> c18(+'(p1, p5)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p1) -> c20(+'(p1, p5)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p2) -> c22(+'(p2, p5)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, p1) -> c25(+'(p1, p10)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, p2) -> c27(+'(p2, p10)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p10, p5) -> c29(+'(p5, p10)) +'(p10, +(p5, z0)) -> c30(+'(p5, +(p10, z0)), +'(p10, z0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, p1) -> c16(+'(p1, p2)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, p2)) -> c18(+'(p1, p5)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p1) -> c20(+'(p1, p5)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p2) -> c22(+'(p2, p5)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, p1) -> c25(+'(p1, p10)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, p2) -> c27(+'(p2, p10)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p10, p5) -> c29(+'(p5, p10)) +'(p10, +(p5, z0)) -> c30(+'(p5, +(p10, z0)), +'(p10, z0)) K tuples:none Defined Rule Symbols: +_2, encArg_1, encode_+_2, encode_p1, encode_p2, encode_p5, encode_p10 Defined Pair Symbols: ENCARG_1, ENCODE_+_2, ENCODE_P1, ENCODE_P2, ENCODE_P5, ENCODE_P10, +'_2 Compound Symbols: c, c1, c2, c3, c4_3, c5_3, c6, c7, c8, c9, c10, c11, c12, c13_2, c14_1, c15_1, c16_1, c17_2, c18_1, c19_2, c20_1, c21_2, c22_1, c23_2, c24_1, c25_1, c26_2, c27_1, c28_2, c29_1, c30_2 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing nodes: ENCODE_P10 -> c9 ENCARG(p1) -> c ENCODE_P5 -> c8 ENCODE_P2 -> c7 ENCARG(p10) -> c3 ENCARG(p5) -> c2 ENCODE_P1 -> c6 ENCARG(p2) -> c1 ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) encode_+(z0, z1) -> +(encArg(z0), encArg(z1)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_+(z0, z1) -> c5(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, p1) -> c16(+'(p1, p2)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, p2)) -> c18(+'(p1, p5)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p1) -> c20(+'(p1, p5)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p2) -> c22(+'(p2, p5)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, p1) -> c25(+'(p1, p10)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, p2) -> c27(+'(p2, p10)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p10, p5) -> c29(+'(p5, p10)) +'(p10, +(p5, z0)) -> c30(+'(p5, +(p10, z0)), +'(p10, z0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, p1) -> c16(+'(p1, p2)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, p2)) -> c18(+'(p1, p5)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p1) -> c20(+'(p1, p5)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, p2) -> c22(+'(p2, p5)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, p1) -> c25(+'(p1, p10)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, p2) -> c27(+'(p2, p10)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p10, p5) -> c29(+'(p5, p10)) +'(p10, +(p5, z0)) -> c30(+'(p5, +(p10, z0)), +'(p10, z0)) K tuples:none Defined Rule Symbols: +_2, encArg_1, encode_+_2, encode_p1, encode_p2, encode_p5, encode_p10 Defined Pair Symbols: ENCARG_1, ENCODE_+_2, +'_2 Compound Symbols: c4_3, c5_3, c10, c11, c12, c13_2, c14_1, c15_1, c16_1, c17_2, c18_1, c19_2, c20_1, c21_2, c22_1, c23_2, c24_1, c25_1, c26_2, c27_1, c28_2, c29_1, c30_2 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) encode_+(z0, z1) -> +(encArg(z0), encArg(z1)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_+(z0, z1) -> c5(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples:none Defined Rule Symbols: +_2, encArg_1, encode_+_2, encode_p1, encode_p2, encode_p5, encode_p10 Defined Pair Symbols: ENCARG_1, ENCODE_+_2, +'_2 Compound Symbols: c4_3, c5_3, c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1 ---------------------------------------- (41) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) encode_+(z0, z1) -> +(encArg(z0), encArg(z1)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCODE_+(z0, z1) -> c(ENCARG(z0)) ENCODE_+(z0, z1) -> c(ENCARG(z1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples:none Defined Rule Symbols: +_2, encArg_1, encode_+_2, encode_p1, encode_p2, encode_p5, encode_p10 Defined Pair Symbols: ENCARG_1, +'_2, ENCODE_+_2 Compound Symbols: c4_3, c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 2 leading nodes: ENCODE_+(z0, z1) -> c(ENCARG(z0)) ENCODE_+(z0, z1) -> c(ENCARG(z1)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) encode_+(z0, z1) -> +(encArg(z0), encArg(z1)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples:none Defined Rule Symbols: +_2, encArg_1, encode_+_2, encode_p1, encode_p2, encode_p5, encode_p10 Defined Pair Symbols: ENCARG_1, +'_2, ENCODE_+_2 Compound Symbols: c4_3, c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1 ---------------------------------------- (45) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_+(z0, z1) -> +(encArg(z0), encArg(z1)) encode_p1 -> p1 encode_p2 -> p2 encode_p5 -> p5 encode_p10 -> p10 ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples:none Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: ENCARG_1, +'_2, ENCODE_+_2 Compound Symbols: c4_3, c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1 ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(z0, z1)) -> c4(+'(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0), ENCARG(p1)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0), ENCARG(p2)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0), ENCARG(p5)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0), ENCARG(p10)) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(p1), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(p2), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(p5), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(p10), ENCARG(x1)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0), ENCARG(p1)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0), ENCARG(p2)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0), ENCARG(p5)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0), ENCARG(p10)) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(p1), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(p2), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(p5), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(p10), ENCARG(x1)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples:none Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3 ---------------------------------------- (49) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples:none Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2 ---------------------------------------- (51) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) We considered the (Usable) Rules: +(+(z0, z1), z2) -> +(z0, +(z1, z2)) encArg(p5) -> p5 +(p1, +(p2, +(p2, z0))) -> +(p5, z0) encArg(p1) -> p1 +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p5) -> p10 +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p2, +(p2, p2)) -> +(p1, p5) encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p10, p1) -> +(p1, p10) +(p2, p1) -> +(p1, p2) encArg(p10) -> p10 +(p1, +(p2, p2)) -> p5 +(p10, p5) -> +(p5, p10) +(p5, +(p5, z0)) -> +(p10, z0) +(p5, p2) -> +(p2, p5) encArg(p2) -> p2 +(p1, +(p1, z0)) -> +(p2, z0) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p1, p1) -> p2 +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) And the Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) The order we found is given by the following interpretation: Polynomial interpretation : POL(+(x_1, x_2)) = [1] + x_1 + x_2 POL(+'(x_1, x_2)) = [2]x_1 POL(ENCARG(x_1)) = [2]x_1 + x_1^2 POL(ENCODE_+(x_1, x_2)) = [2] + [2]x_1 + [2]x_2 + x_2^2 + x_1*x_2 + [2]x_1^2 POL(c(x_1)) = x_1 POL(c10) = 0 POL(c11) = 0 POL(c12) = 0 POL(c13(x_1, x_2)) = x_1 + x_2 POL(c14(x_1)) = x_1 POL(c15(x_1)) = x_1 POL(c16) = 0 POL(c17(x_1, x_2)) = x_1 + x_2 POL(c18) = 0 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c20) = 0 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22) = 0 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1)) = x_1 POL(c25) = 0 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27) = 0 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29) = 0 POL(c30(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(cons_+(x_1, x_2)) = [1] + x_1 + x_2 POL(encArg(x_1)) = x_1 POL(p1) = 0 POL(p10) = 0 POL(p2) = 0 POL(p5) = 0 ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c19_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p2, +(p2, +(p2, z0))) -> c19(+'(p1, +(p5, z0)), +'(p5, z0)) by +'(p2, +(p2, +(p2, p5))) -> c19(+'(p1, p10), +'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p1, p10), +'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p1, p10), +'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_2, c19_1 ---------------------------------------- (55) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c21_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p5, +(p1, z0)) -> c21(+'(p1, +(p5, z0)), +'(p5, z0)) by +'(p5, +(p1, p5)) -> c21(+'(p1, p10), +'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p1, +(p2, p5)), +'(p5, p2)) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, p5)) -> c21(+'(p1, p10), +'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p1, +(p2, p5)), +'(p5, p2)) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, p5)) -> c21(+'(p1, p10), +'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p1, +(p2, p5)), +'(p5, p2)) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c23_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p5, +(p2, z0)) -> c23(+'(p2, +(p5, z0)), +'(p5, z0)) by +'(p5, +(p2, p5)) -> c23(+'(p2, p10), +'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p2, +(p2, p5)), +'(p5, p2)) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p2, +(p10, z0)), +'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, p5)) -> c23(+'(p2, p10), +'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p2, +(p2, p5)), +'(p5, p2)) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p2, +(p10, z0)), +'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, p5)) -> c23(+'(p2, p10), +'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p2, +(p2, p5)), +'(p5, p2)) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p2, +(p10, z0)), +'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1 ---------------------------------------- (63) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c26_2, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1 ---------------------------------------- (65) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p10, +(p1, z0)) -> c26(+'(p1, +(p10, z0)), +'(p10, z0)) by +'(p10, +(p1, p2)) -> c26(+'(p1, +(p2, p10)), +'(p10, p2)) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, p5)) -> c26(+'(p1, +(p5, p10)), +'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, p2)) -> c26(+'(p1, +(p2, p10)), +'(p10, p2)) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, p5)) -> c26(+'(p1, +(p5, p10)), +'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, p2)) -> c26(+'(p1, +(p2, p10)), +'(p10, p2)) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, p5)) -> c26(+'(p1, +(p5, p10)), +'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1 ---------------------------------------- (67) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c28_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p10, +(p2, z0)) -> c28(+'(p2, +(p10, z0)), +'(p10, z0)) by +'(p10, +(p2, p2)) -> c28(+'(p2, +(p2, p10)), +'(p10, p2)) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, p5)) -> c28(+'(p2, +(p5, p10)), +'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, p2)) -> c28(+'(p2, +(p2, p10)), +'(p10, p2)) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, p5)) -> c28(+'(p2, +(p5, p10)), +'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, p2)) -> c28(+'(p2, +(p2, p10)), +'(p10, p2)) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, p5)) -> c28(+'(p2, +(p5, p10)), +'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1 ---------------------------------------- (71) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCODE_+_2, ENCARG_1 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(z0, z1) -> c(+'(encArg(z0), encArg(z1))) by ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(x0, cons_+(z0, z1))) -> c4(+'(encArg(x0), +(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_+(z0, z1))) by ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(p1), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(p2), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(p5), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(p10), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(p1), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(p2), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(p5), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(p10), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1 ---------------------------------------- (79) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(x0, p1)) -> c4(+'(encArg(x0), p1), ENCARG(x0)) by ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1), ENCARG(p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1), ENCARG(p2)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1), ENCARG(p5)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1), ENCARG(p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1), ENCARG(p2)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1), ENCARG(p5)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1 ---------------------------------------- (81) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (83) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(x0, p2)) -> c4(+'(encArg(x0), p2), ENCARG(x0)) by ENCARG(cons_+(p1, p2)) -> c4(+'(p1, p2), ENCARG(p1)) ENCARG(cons_+(p2, p2)) -> c4(+'(p2, p2), ENCARG(p2)) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2), ENCARG(p5)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(p1, p2)) -> c4(+'(p1, p2), ENCARG(p1)) ENCARG(cons_+(p2, p2)) -> c4(+'(p2, p2), ENCARG(p2)) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2), ENCARG(p5)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (85) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_+(p2, p2)) -> c4(+'(p2, p2), ENCARG(p2)) ENCARG(cons_+(p1, p2)) -> c4(+'(p1, p2), ENCARG(p1)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2), ENCARG(p5)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (87) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(x0, p5)) -> c4(+'(encArg(x0), p5), ENCARG(x0)) by ENCARG(cons_+(p1, p5)) -> c4(+'(p1, p5), ENCARG(p1)) ENCARG(cons_+(p2, p5)) -> c4(+'(p2, p5), ENCARG(p2)) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5), ENCARG(p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(p1, p5)) -> c4(+'(p1, p5), ENCARG(p1)) ENCARG(cons_+(p2, p5)) -> c4(+'(p2, p5), ENCARG(p2)) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5), ENCARG(p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (91) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_+(p1, p5)) -> c4(+'(p1, p5), ENCARG(p1)) ENCARG(cons_+(p2, p5)) -> c4(+'(p2, p5), ENCARG(p2)) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5), ENCARG(p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (93) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(x0, p10)) -> c4(+'(encArg(x0), p10), ENCARG(x0)) by ENCARG(cons_+(p1, p10)) -> c4(+'(p1, p10), ENCARG(p1)) ENCARG(cons_+(p2, p10)) -> c4(+'(p2, p10), ENCARG(p2)) ENCARG(cons_+(p5, p10)) -> c4(+'(p5, p10), ENCARG(p5)) ENCARG(cons_+(p10, p10)) -> c4(+'(p10, p10), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(p1, p10)) -> c4(+'(p1, p10), ENCARG(p1)) ENCARG(cons_+(p2, p10)) -> c4(+'(p2, p10), ENCARG(p2)) ENCARG(cons_+(p5, p10)) -> c4(+'(p5, p10), ENCARG(p5)) ENCARG(cons_+(p10, p10)) -> c4(+'(p10, p10), ENCARG(p10)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (97) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_+(p5, p10)) -> c4(+'(p5, p10), ENCARG(p5)) ENCARG(cons_+(p2, p10)) -> c4(+'(p2, p10), ENCARG(p2)) ENCARG(cons_+(p10, p10)) -> c4(+'(p10, p10), ENCARG(p10)) ENCARG(cons_+(p1, p10)) -> c4(+'(p1, p10), ENCARG(p1)) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(p1, x1)) -> c4(+'(p1, encArg(x1)), ENCARG(x1)) by ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1), ENCARG(p1)) ENCARG(cons_+(p1, p2)) -> c4(+'(p1, p2), ENCARG(p2)) ENCARG(cons_+(p1, p5)) -> c4(+'(p1, p5), ENCARG(p5)) ENCARG(cons_+(p1, p10)) -> c4(+'(p1, p10), ENCARG(p10)) ENCARG(cons_+(p1, cons_+(z0, z1))) -> c4(+'(p1, +(encArg(z0), encArg(z1))), ENCARG(cons_+(z0, z1))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1), ENCARG(p1)) ENCARG(cons_+(p1, p2)) -> c4(+'(p1, p2), ENCARG(p2)) ENCARG(cons_+(p1, p5)) -> c4(+'(p1, p5), ENCARG(p5)) ENCARG(cons_+(p1, p10)) -> c4(+'(p1, p10), ENCARG(p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (101) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_+(p1, p2)) -> c4(+'(p1, p2), ENCARG(p2)) ENCARG(cons_+(p1, p10)) -> c4(+'(p1, p10), ENCARG(p10)) ENCARG(cons_+(p1, p5)) -> c4(+'(p1, p5), ENCARG(p5)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1), ENCARG(p1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(p2, x1)) -> c4(+'(p2, encArg(x1)), ENCARG(x1)) by ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1), ENCARG(p1)) ENCARG(cons_+(p2, p2)) -> c4(+'(p2, p2), ENCARG(p2)) ENCARG(cons_+(p2, p5)) -> c4(+'(p2, p5), ENCARG(p5)) ENCARG(cons_+(p2, p10)) -> c4(+'(p2, p10), ENCARG(p10)) ENCARG(cons_+(p2, cons_+(z0, z1))) -> c4(+'(p2, +(encArg(z0), encArg(z1))), ENCARG(cons_+(z0, z1))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1), ENCARG(p1)) ENCARG(cons_+(p2, p2)) -> c4(+'(p2, p2), ENCARG(p2)) ENCARG(cons_+(p2, p5)) -> c4(+'(p2, p5), ENCARG(p5)) ENCARG(cons_+(p2, p10)) -> c4(+'(p2, p10), ENCARG(p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (107) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_+(p2, p5)) -> c4(+'(p2, p5), ENCARG(p5)) ENCARG(cons_+(p2, p2)) -> c4(+'(p2, p2), ENCARG(p2)) ENCARG(cons_+(p2, p10)) -> c4(+'(p2, p10), ENCARG(p10)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1), ENCARG(p1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (109) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(p5, x1)) -> c4(+'(p5, encArg(x1)), ENCARG(x1)) by ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1), ENCARG(p1)) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2), ENCARG(p2)) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5), ENCARG(p5)) ENCARG(cons_+(p5, p10)) -> c4(+'(p5, p10), ENCARG(p10)) ENCARG(cons_+(p5, cons_+(z0, z1))) -> c4(+'(p5, +(encArg(z0), encArg(z1))), ENCARG(cons_+(z0, z1))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1), ENCARG(p1)) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2), ENCARG(p2)) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5), ENCARG(p5)) ENCARG(cons_+(p5, p10)) -> c4(+'(p5, p10), ENCARG(p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (113) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCARG(cons_+(p5, p10)) -> c4(+'(p5, p10), ENCARG(p10)) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1), ENCARG(p1)) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2), ENCARG(p2)) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5), ENCARG(p5)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (115) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c4_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_1 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_+(p10, x1)) -> c4(+'(p10, encArg(x1)), ENCARG(x1)) by ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1), ENCARG(p1)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2), ENCARG(p2)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5), ENCARG(p5)) ENCARG(cons_+(p10, p10)) -> c4(+'(p10, p10), ENCARG(p10)) ENCARG(cons_+(p10, cons_+(z0, z1))) -> c4(+'(p10, +(encArg(z0), encArg(z1))), ENCARG(cons_+(z0, z1))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1), ENCARG(p1)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2), ENCARG(p2)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5), ENCARG(p5)) ENCARG(cons_+(p10, p10)) -> c4(+'(p10, p10), ENCARG(p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (119) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCARG(cons_+(p10, p10)) -> c4(+'(p10, p10), ENCARG(p10)) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1), ENCARG(p1)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2), ENCARG(p2)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5), ENCARG(p5)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (121) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p5, +(p1, +(p2, z0))) -> c21(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) by +'(p5, +(p1, +(p2, p5))) -> c21(+'(p1, +(p2, p10)), +'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p1, +(p2, +(p10, z0))), +'(p5, +(p2, +(p5, z0)))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p1, +(p2, p10)), +'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p1, +(p2, +(p10, z0))), +'(p5, +(p2, +(p5, z0)))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p1, +(p2, p10)), +'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p1, +(p2, +(p10, z0))), +'(p5, +(p2, +(p5, z0)))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1, c21_2 ---------------------------------------- (125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_2, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p5, +(p2, +(p2, z0))) -> c23(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0))) by +'(p5, +(p2, +(p2, p5))) -> c23(+'(p2, +(p2, p10)), +'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p2, +(p2, +(p10, z0))), +'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p2, +(p2, p10)), +'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p2, +(p2, +(p10, z0))), +'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p2, +(p2, p10)), +'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p2, +(p2, +(p10, z0))), +'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1, c23_2 ---------------------------------------- (129) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_2, c26_1, c28_2, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p10, +(p1, +(p2, z0))) -> c26(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) by +'(p10, +(p1, +(p2, p5))) -> c26(+'(p1, +(p2, +(p5, p10))), +'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p1, +(p2, +(p5, +(p10, z0)))), +'(p10, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p1, +(p2, +(p5, p10))), +'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p1, +(p2, +(p5, +(p10, z0)))), +'(p10, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p1, +(p2, +(p5, p10))), +'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p1, +(p2, +(p5, +(p10, z0)))), +'(p10, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_2, c28_1, c_1, c4_2, c4_1, c26_2 ---------------------------------------- (133) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_2, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace +'(p10, +(p2, +(p2, z0))) -> c28(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0))) by +'(p10, +(p2, +(p2, p5))) -> c28(+'(p2, +(p2, +(p5, p10))), +'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p2, +(p2, +(p5, +(p10, z0)))), +'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p2, +(p2, +(p5, p10))), +'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p2, +(p2, +(p5, +(p10, z0)))), +'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p2, +(p2, +(p5, p10))), +'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p2, +(p2, +(p5, +(p10, z0)))), +'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c28_2 ---------------------------------------- (137) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(x0, p1) -> c(+'(encArg(x0), p1)) by ENCODE_+(p1, p1) -> c(+'(p1, p1)) ENCODE_+(p2, p1) -> c(+'(p2, p1)) ENCODE_+(p5, p1) -> c(+'(p5, p1)) ENCODE_+(p10, p1) -> c(+'(p10, p1)) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(p1, p1) -> c(+'(p1, p1)) ENCODE_+(p2, p1) -> c(+'(p2, p1)) ENCODE_+(p5, p1) -> c(+'(p5, p1)) ENCODE_+(p10, p1) -> c(+'(p10, p1)) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (141) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: ENCODE_+(p1, p1) -> c(+'(p1, p1)) ENCODE_+(p2, p1) -> c(+'(p2, p1)) ENCODE_+(p5, p1) -> c(+'(p5, p1)) ENCODE_+(p10, p1) -> c(+'(p10, p1)) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(x0, p2) -> c(+'(encArg(x0), p2)) by ENCODE_+(p1, p2) -> c(+'(p1, p2)) ENCODE_+(p2, p2) -> c(+'(p2, p2)) ENCODE_+(p5, p2) -> c(+'(p5, p2)) ENCODE_+(p10, p2) -> c(+'(p10, p2)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(p1, p2) -> c(+'(p1, p2)) ENCODE_+(p2, p2) -> c(+'(p2, p2)) ENCODE_+(p5, p2) -> c(+'(p5, p2)) ENCODE_+(p10, p2) -> c(+'(p10, p2)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (145) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 2 leading nodes: ENCODE_+(p5, p2) -> c(+'(p5, p2)) ENCODE_+(p10, p2) -> c(+'(p10, p2)) Removed 2 trailing nodes: ENCODE_+(p2, p2) -> c(+'(p2, p2)) ENCODE_+(p1, p2) -> c(+'(p1, p2)) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(x0, p5) -> c(+'(encArg(x0), p5)) by ENCODE_+(p1, p5) -> c(+'(p1, p5)) ENCODE_+(p2, p5) -> c(+'(p2, p5)) ENCODE_+(p5, p5) -> c(+'(p5, p5)) ENCODE_+(p10, p5) -> c(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(p1, p5) -> c(+'(p1, p5)) ENCODE_+(p2, p5) -> c(+'(p2, p5)) ENCODE_+(p5, p5) -> c(+'(p5, p5)) ENCODE_+(p10, p5) -> c(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (149) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 2 leading nodes: ENCODE_+(p5, p5) -> c(+'(p5, p5)) ENCODE_+(p10, p5) -> c(+'(p10, p5)) Removed 2 trailing nodes: ENCODE_+(p2, p5) -> c(+'(p2, p5)) ENCODE_+(p1, p5) -> c(+'(p1, p5)) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(x0, p10) -> c(+'(encArg(x0), p10)) by ENCODE_+(p1, p10) -> c(+'(p1, p10)) ENCODE_+(p2, p10) -> c(+'(p2, p10)) ENCODE_+(p5, p10) -> c(+'(p5, p10)) ENCODE_+(p10, p10) -> c(+'(p10, p10)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(p1, p10) -> c(+'(p1, p10)) ENCODE_+(p2, p10) -> c(+'(p2, p10)) ENCODE_+(p5, p10) -> c(+'(p5, p10)) ENCODE_+(p10, p10) -> c(+'(p10, p10)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (153) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_+(p5, p10) -> c(+'(p5, p10)) ENCODE_+(p2, p10) -> c(+'(p2, p10)) ENCODE_+(p1, p10) -> c(+'(p1, p10)) ENCODE_+(p10, p10) -> c(+'(p10, p10)) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(x0, cons_+(z0, z1)) -> c(+'(encArg(x0), +(encArg(z0), encArg(z1)))) by ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (157) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(p1, x1) -> c(+'(p1, encArg(x1))) by ENCODE_+(p1, p1) -> c(+'(p1, p1)) ENCODE_+(p1, p2) -> c(+'(p1, p2)) ENCODE_+(p1, p5) -> c(+'(p1, p5)) ENCODE_+(p1, p10) -> c(+'(p1, p10)) ENCODE_+(p1, cons_+(z0, z1)) -> c(+'(p1, +(encArg(z0), encArg(z1)))) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) ENCODE_+(p1, p1) -> c(+'(p1, p1)) ENCODE_+(p1, p2) -> c(+'(p1, p2)) ENCODE_+(p1, p5) -> c(+'(p1, p5)) ENCODE_+(p1, p10) -> c(+'(p1, p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (159) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_+(p1, p1) -> c(+'(p1, p1)) Removed 3 trailing nodes: ENCODE_+(p1, p5) -> c(+'(p1, p5)) ENCODE_+(p1, p10) -> c(+'(p1, p10)) ENCODE_+(p1, p2) -> c(+'(p1, p2)) ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(p2, x1) -> c(+'(p2, encArg(x1))) by ENCODE_+(p2, p1) -> c(+'(p2, p1)) ENCODE_+(p2, p2) -> c(+'(p2, p2)) ENCODE_+(p2, p5) -> c(+'(p2, p5)) ENCODE_+(p2, p10) -> c(+'(p2, p10)) ENCODE_+(p2, cons_+(z0, z1)) -> c(+'(p2, +(encArg(z0), encArg(z1)))) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) ENCODE_+(p2, p1) -> c(+'(p2, p1)) ENCODE_+(p2, p2) -> c(+'(p2, p2)) ENCODE_+(p2, p5) -> c(+'(p2, p5)) ENCODE_+(p2, p10) -> c(+'(p2, p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (163) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_+(p2, p1) -> c(+'(p2, p1)) Removed 3 trailing nodes: ENCODE_+(p2, p5) -> c(+'(p2, p5)) ENCODE_+(p2, p2) -> c(+'(p2, p2)) ENCODE_+(p2, p10) -> c(+'(p2, p10)) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (165) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(p5, x1) -> c(+'(p5, encArg(x1))) by ENCODE_+(p5, p1) -> c(+'(p5, p1)) ENCODE_+(p5, p2) -> c(+'(p5, p2)) ENCODE_+(p5, p5) -> c(+'(p5, p5)) ENCODE_+(p5, p10) -> c(+'(p5, p10)) ENCODE_+(p5, cons_+(z0, z1)) -> c(+'(p5, +(encArg(z0), encArg(z1)))) ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) ENCODE_+(p5, p1) -> c(+'(p5, p1)) ENCODE_+(p5, p2) -> c(+'(p5, p2)) ENCODE_+(p5, p5) -> c(+'(p5, p5)) ENCODE_+(p5, p10) -> c(+'(p5, p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (167) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 3 leading nodes: ENCODE_+(p5, p5) -> c(+'(p5, p5)) ENCODE_+(p5, p1) -> c(+'(p5, p1)) ENCODE_+(p5, p2) -> c(+'(p5, p2)) Removed 1 trailing nodes: ENCODE_+(p5, p10) -> c(+'(p5, p10)) ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (169) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_+(p10, x1) -> c(+'(p10, encArg(x1))) by ENCODE_+(p10, p1) -> c(+'(p10, p1)) ENCODE_+(p10, p2) -> c(+'(p10, p2)) ENCODE_+(p10, p5) -> c(+'(p10, p5)) ENCODE_+(p10, p10) -> c(+'(p10, p10)) ENCODE_+(p10, cons_+(z0, z1)) -> c(+'(p10, +(encArg(z0), encArg(z1)))) ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) ENCODE_+(p10, p1) -> c(+'(p10, p1)) ENCODE_+(p10, p2) -> c(+'(p10, p2)) ENCODE_+(p10, p5) -> c(+'(p10, p5)) ENCODE_+(p10, p10) -> c(+'(p10, p10)) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (171) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 3 leading nodes: ENCODE_+(p10, p1) -> c(+'(p10, p1)) ENCODE_+(p10, p2) -> c(+'(p10, p2)) ENCODE_+(p10, p5) -> c(+'(p10, p5)) Removed 1 trailing nodes: ENCODE_+(p10, p10) -> c(+'(p10, p10)) ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c14_1, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (173) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p1, +(p1, z0)) -> c14(+'(p2, z0)) by +'(p1, +(p1, +(p1, y0))) -> c14(+'(p2, +(p1, y0))) +'(p1, +(p1, p1)) -> c14(+'(p2, p1)) +'(p1, +(p1, +(p2, p2))) -> c14(+'(p2, +(p2, p2))) +'(p1, +(p1, +(p2, +(p2, y0)))) -> c14(+'(p2, +(p2, +(p2, y0)))) +'(p1, +(p1, +(p2, +(p2, p5)))) -> c14(+'(p2, +(p2, +(p2, p5)))) +'(p1, +(p1, +(p2, +(p2, +(p5, y0))))) -> c14(+'(p2, +(p2, +(p2, +(p5, y0))))) ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p1, +(p1, y0))) -> c14(+'(p2, +(p1, y0))) +'(p1, +(p1, p1)) -> c14(+'(p2, p1)) +'(p1, +(p1, +(p2, p2))) -> c14(+'(p2, +(p2, p2))) +'(p1, +(p1, +(p2, +(p2, y0)))) -> c14(+'(p2, +(p2, +(p2, y0)))) +'(p1, +(p1, +(p2, +(p2, p5)))) -> c14(+'(p2, +(p2, +(p2, p5)))) +'(p1, +(p1, +(p2, +(p2, +(p5, y0))))) -> c14(+'(p2, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p1, +(p1, y0))) -> c14(+'(p2, +(p1, y0))) +'(p1, +(p1, p1)) -> c14(+'(p2, p1)) +'(p1, +(p1, +(p2, p2))) -> c14(+'(p2, +(p2, p2))) +'(p1, +(p1, +(p2, +(p2, y0)))) -> c14(+'(p2, +(p2, +(p2, y0)))) +'(p1, +(p1, +(p2, +(p2, p5)))) -> c14(+'(p2, +(p2, +(p2, p5)))) +'(p1, +(p1, +(p2, +(p2, +(p5, y0))))) -> c14(+'(p2, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c14_1 ---------------------------------------- (175) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 6 leading nodes: +'(p1, +(p1, +(p1, y0))) -> c14(+'(p2, +(p1, y0))) +'(p1, +(p1, +(p2, +(p2, y0)))) -> c14(+'(p2, +(p2, +(p2, y0)))) +'(p1, +(p1, +(p2, +(p2, p5)))) -> c14(+'(p2, +(p2, +(p2, p5)))) +'(p1, +(p1, +(p2, +(p2, +(p5, y0))))) -> c14(+'(p2, +(p2, +(p2, +(p5, y0))))) +'(p1, +(p1, p1)) -> c14(+'(p2, p1)) +'(p1, +(p1, +(p2, p2))) -> c14(+'(p2, +(p2, p2))) ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c15_1, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1 ---------------------------------------- (177) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p1, +(p2, +(p2, z0))) -> c15(+'(p5, z0)) by +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p1, +(p2, +(p2, p1))) -> c15(+'(p5, p1)) +'(p1, +(p2, +(p2, p2))) -> c15(+'(p5, p2)) +'(p1, +(p2, +(p2, +(p1, y0)))) -> c15(+'(p5, +(p1, y0))) +'(p1, +(p2, +(p2, +(p1, p5)))) -> c15(+'(p5, +(p1, p5))) +'(p1, +(p2, +(p2, +(p1, p2)))) -> c15(+'(p5, +(p1, p2))) +'(p1, +(p2, +(p2, +(p1, +(p5, y0))))) -> c15(+'(p5, +(p1, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p2, y0)))) -> c15(+'(p5, +(p2, y0))) +'(p1, +(p2, +(p2, +(p2, p5)))) -> c15(+'(p5, +(p2, p5))) +'(p1, +(p2, +(p2, +(p2, p2)))) -> c15(+'(p5, +(p2, p2))) +'(p1, +(p2, +(p2, +(p2, +(p5, y0))))) -> c15(+'(p5, +(p2, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, y0))))) -> c15(+'(p5, +(p1, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, p5))))) -> c15(+'(p5, +(p1, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p1, +(p2, +(p2, +(p2, +(p2, y0))))) -> c15(+'(p5, +(p2, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p2, +(p2, p5))))) -> c15(+'(p5, +(p2, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p2, +(p2, +(p5, y0))))) ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p1, +(p2, +(p2, p1))) -> c15(+'(p5, p1)) +'(p1, +(p2, +(p2, p2))) -> c15(+'(p5, p2)) +'(p1, +(p2, +(p2, +(p1, y0)))) -> c15(+'(p5, +(p1, y0))) +'(p1, +(p2, +(p2, +(p1, p5)))) -> c15(+'(p5, +(p1, p5))) +'(p1, +(p2, +(p2, +(p1, p2)))) -> c15(+'(p5, +(p1, p2))) +'(p1, +(p2, +(p2, +(p1, +(p5, y0))))) -> c15(+'(p5, +(p1, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p2, y0)))) -> c15(+'(p5, +(p2, y0))) +'(p1, +(p2, +(p2, +(p2, p5)))) -> c15(+'(p5, +(p2, p5))) +'(p1, +(p2, +(p2, +(p2, p2)))) -> c15(+'(p5, +(p2, p2))) +'(p1, +(p2, +(p2, +(p2, +(p5, y0))))) -> c15(+'(p5, +(p2, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, y0))))) -> c15(+'(p5, +(p1, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, p5))))) -> c15(+'(p5, +(p1, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p1, +(p2, +(p2, +(p2, +(p2, y0))))) -> c15(+'(p5, +(p2, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p2, +(p2, p5))))) -> c15(+'(p5, +(p2, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p1, +(p2, +(p2, p1))) -> c15(+'(p5, p1)) +'(p1, +(p2, +(p2, p2))) -> c15(+'(p5, p2)) +'(p1, +(p2, +(p2, +(p1, y0)))) -> c15(+'(p5, +(p1, y0))) +'(p1, +(p2, +(p2, +(p1, p5)))) -> c15(+'(p5, +(p1, p5))) +'(p1, +(p2, +(p2, +(p1, p2)))) -> c15(+'(p5, +(p1, p2))) +'(p1, +(p2, +(p2, +(p1, +(p5, y0))))) -> c15(+'(p5, +(p1, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p2, y0)))) -> c15(+'(p5, +(p2, y0))) +'(p1, +(p2, +(p2, +(p2, p5)))) -> c15(+'(p5, +(p2, p5))) +'(p1, +(p2, +(p2, +(p2, p2)))) -> c15(+'(p5, +(p2, p2))) +'(p1, +(p2, +(p2, +(p2, +(p5, y0))))) -> c15(+'(p5, +(p2, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, y0))))) -> c15(+'(p5, +(p1, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, p5))))) -> c15(+'(p5, +(p1, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p1, +(p2, +(p2, +(p2, +(p2, y0))))) -> c15(+'(p5, +(p2, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p2, +(p2, p5))))) -> c15(+'(p5, +(p2, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1 ---------------------------------------- (179) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 16 leading nodes: +'(p1, +(p2, +(p2, +(p1, y0)))) -> c15(+'(p5, +(p1, y0))) +'(p1, +(p2, +(p2, +(p1, +(p2, y0))))) -> c15(+'(p5, +(p1, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p1, +(p2, p5))))) -> c15(+'(p5, +(p1, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p1, +(p2, +(p2, +(p2, y0)))) -> c15(+'(p5, +(p2, y0))) +'(p1, +(p2, +(p2, +(p2, +(p2, y0))))) -> c15(+'(p5, +(p2, +(p2, y0)))) +'(p1, +(p2, +(p2, +(p2, +(p2, p5))))) -> c15(+'(p5, +(p2, +(p2, p5)))) +'(p1, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c15(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p1, +(p2, +(p2, +(p2, p5)))) -> c15(+'(p5, +(p2, p5))) +'(p1, +(p2, +(p2, +(p2, p2)))) -> c15(+'(p5, +(p2, p2))) +'(p1, +(p2, +(p2, +(p2, +(p5, y0))))) -> c15(+'(p5, +(p2, +(p5, y0)))) +'(p1, +(p2, +(p2, +(p1, p5)))) -> c15(+'(p5, +(p1, p5))) +'(p1, +(p2, +(p2, +(p1, p2)))) -> c15(+'(p5, +(p1, p2))) +'(p1, +(p2, +(p2, +(p1, +(p5, y0))))) -> c15(+'(p5, +(p1, +(p5, y0)))) +'(p1, +(p2, +(p2, p1))) -> c15(+'(p5, p1)) +'(p1, +(p2, +(p2, p2))) -> c15(+'(p5, p2)) ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c17_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1 ---------------------------------------- (181) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p2, +(p1, z0)) -> c17(+'(p1, +(p2, z0)), +'(p2, z0)) by +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2)), +'(p2, p2)) +'(p2, +(p1, +(p1, y0))) -> c17(+'(p1, +(p2, +(p1, y0))), +'(p2, +(p1, y0))) +'(p2, +(p1, p1)) -> c17(+'(p1, +(p2, p1)), +'(p2, p1)) +'(p2, +(p1, +(p2, p2))) -> c17(+'(p1, +(p2, +(p2, p2))), +'(p2, +(p2, p2))) +'(p2, +(p1, +(p2, +(p2, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p2, y0)))), +'(p2, +(p2, +(p2, y0)))) +'(p2, +(p1, +(p2, +(p2, p5)))) -> c17(+'(p1, +(p2, +(p2, +(p2, p5)))), +'(p2, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p2, +(p5, y0))))) -> c17(+'(p1, +(p2, +(p2, +(p2, +(p5, y0))))), +'(p2, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5))), +'(p2, +(p2, p5))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0)))), +'(p2, +(p2, +(p5, y0)))) ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2)), +'(p2, p2)) +'(p2, +(p1, +(p1, y0))) -> c17(+'(p1, +(p2, +(p1, y0))), +'(p2, +(p1, y0))) +'(p2, +(p1, p1)) -> c17(+'(p1, +(p2, p1)), +'(p2, p1)) +'(p2, +(p1, +(p2, p2))) -> c17(+'(p1, +(p2, +(p2, p2))), +'(p2, +(p2, p2))) +'(p2, +(p1, +(p2, +(p2, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p2, y0)))), +'(p2, +(p2, +(p2, y0)))) +'(p2, +(p1, +(p2, +(p2, p5)))) -> c17(+'(p1, +(p2, +(p2, +(p2, p5)))), +'(p2, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p2, +(p5, y0))))) -> c17(+'(p1, +(p2, +(p2, +(p2, +(p5, y0))))), +'(p2, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5))), +'(p2, +(p2, p5))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0)))), +'(p2, +(p2, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2)), +'(p2, p2)) +'(p2, +(p1, +(p1, y0))) -> c17(+'(p1, +(p2, +(p1, y0))), +'(p2, +(p1, y0))) +'(p2, +(p1, p1)) -> c17(+'(p1, +(p2, p1)), +'(p2, p1)) +'(p2, +(p1, +(p2, p2))) -> c17(+'(p1, +(p2, +(p2, p2))), +'(p2, +(p2, p2))) +'(p2, +(p1, +(p2, +(p2, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p2, y0)))), +'(p2, +(p2, +(p2, y0)))) +'(p2, +(p1, +(p2, +(p2, p5)))) -> c17(+'(p1, +(p2, +(p2, +(p2, p5)))), +'(p2, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p2, +(p5, y0))))) -> c17(+'(p1, +(p2, +(p2, +(p2, +(p5, y0))))), +'(p2, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5))), +'(p2, +(p2, p5))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0)))), +'(p2, +(p2, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_2 ---------------------------------------- (183) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 6 leading nodes: +'(p2, +(p1, +(p1, y0))) -> c17(+'(p1, +(p2, +(p1, y0))), +'(p2, +(p1, y0))) +'(p2, +(p1, +(p2, +(p2, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p2, y0)))), +'(p2, +(p2, +(p2, y0)))) +'(p2, +(p1, +(p2, +(p2, p5)))) -> c17(+'(p1, +(p2, +(p2, +(p2, p5)))), +'(p2, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p2, +(p5, y0))))) -> c17(+'(p1, +(p2, +(p2, +(p2, +(p5, y0))))), +'(p2, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p1, p1)) -> c17(+'(p1, +(p2, p1)), +'(p2, p1)) +'(p2, +(p1, +(p2, p2))) -> c17(+'(p1, +(p2, +(p2, p2))), +'(p2, +(p2, p2))) ---------------------------------------- (184) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2)), +'(p2, p2)) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5))), +'(p2, +(p2, p5))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0)))), +'(p2, +(p2, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2)), +'(p2, p2)) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5))), +'(p2, +(p2, p5))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0)))), +'(p2, +(p2, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_2 ---------------------------------------- (185) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (186) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c24_1, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1 ---------------------------------------- (187) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p5, +(p5, z0)) -> c24(+'(p10, z0)) by +'(p5, +(p5, p1)) -> c24(+'(p10, p1)) +'(p5, +(p5, p2)) -> c24(+'(p10, p2)) +'(p5, +(p5, p5)) -> c24(+'(p10, p5)) +'(p5, +(p5, +(p5, y0))) -> c24(+'(p10, +(p5, y0))) +'(p5, +(p5, +(p1, y0))) -> c24(+'(p10, +(p1, y0))) +'(p5, +(p5, +(p1, p2))) -> c24(+'(p10, +(p1, p2))) +'(p5, +(p5, +(p1, p5))) -> c24(+'(p10, +(p1, p5))) +'(p5, +(p5, +(p1, +(p5, y0)))) -> c24(+'(p10, +(p1, +(p5, y0)))) +'(p5, +(p5, +(p2, y0))) -> c24(+'(p10, +(p2, y0))) +'(p5, +(p5, +(p2, p2))) -> c24(+'(p10, +(p2, p2))) +'(p5, +(p5, +(p2, p5))) -> c24(+'(p10, +(p2, p5))) +'(p5, +(p5, +(p2, +(p5, y0)))) -> c24(+'(p10, +(p2, +(p5, y0)))) +'(p5, +(p5, +(p1, +(p2, y0)))) -> c24(+'(p10, +(p1, +(p2, y0)))) +'(p5, +(p5, +(p1, +(p2, p5)))) -> c24(+'(p10, +(p1, +(p2, p5)))) +'(p5, +(p5, +(p1, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p5, +(p2, +(p2, y0)))) -> c24(+'(p10, +(p2, +(p2, y0)))) +'(p5, +(p5, +(p2, +(p2, p5)))) -> c24(+'(p10, +(p2, +(p2, p5)))) +'(p5, +(p5, +(p2, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p2, +(p2, +(p5, y0))))) ---------------------------------------- (188) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p5, p1)) -> c24(+'(p10, p1)) +'(p5, +(p5, p2)) -> c24(+'(p10, p2)) +'(p5, +(p5, p5)) -> c24(+'(p10, p5)) +'(p5, +(p5, +(p5, y0))) -> c24(+'(p10, +(p5, y0))) +'(p5, +(p5, +(p1, y0))) -> c24(+'(p10, +(p1, y0))) +'(p5, +(p5, +(p1, p2))) -> c24(+'(p10, +(p1, p2))) +'(p5, +(p5, +(p1, p5))) -> c24(+'(p10, +(p1, p5))) +'(p5, +(p5, +(p1, +(p5, y0)))) -> c24(+'(p10, +(p1, +(p5, y0)))) +'(p5, +(p5, +(p2, y0))) -> c24(+'(p10, +(p2, y0))) +'(p5, +(p5, +(p2, p2))) -> c24(+'(p10, +(p2, p2))) +'(p5, +(p5, +(p2, p5))) -> c24(+'(p10, +(p2, p5))) +'(p5, +(p5, +(p2, +(p5, y0)))) -> c24(+'(p10, +(p2, +(p5, y0)))) +'(p5, +(p5, +(p1, +(p2, y0)))) -> c24(+'(p10, +(p1, +(p2, y0)))) +'(p5, +(p5, +(p1, +(p2, p5)))) -> c24(+'(p10, +(p1, +(p2, p5)))) +'(p5, +(p5, +(p1, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p5, +(p2, +(p2, y0)))) -> c24(+'(p10, +(p2, +(p2, y0)))) +'(p5, +(p5, +(p2, +(p2, p5)))) -> c24(+'(p10, +(p2, +(p2, p5)))) +'(p5, +(p5, +(p2, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p5, p1)) -> c24(+'(p10, p1)) +'(p5, +(p5, p2)) -> c24(+'(p10, p2)) +'(p5, +(p5, p5)) -> c24(+'(p10, p5)) +'(p5, +(p5, +(p5, y0))) -> c24(+'(p10, +(p5, y0))) +'(p5, +(p5, +(p1, y0))) -> c24(+'(p10, +(p1, y0))) +'(p5, +(p5, +(p1, p2))) -> c24(+'(p10, +(p1, p2))) +'(p5, +(p5, +(p1, p5))) -> c24(+'(p10, +(p1, p5))) +'(p5, +(p5, +(p1, +(p5, y0)))) -> c24(+'(p10, +(p1, +(p5, y0)))) +'(p5, +(p5, +(p2, y0))) -> c24(+'(p10, +(p2, y0))) +'(p5, +(p5, +(p2, p2))) -> c24(+'(p10, +(p2, p2))) +'(p5, +(p5, +(p2, p5))) -> c24(+'(p10, +(p2, p5))) +'(p5, +(p5, +(p2, +(p5, y0)))) -> c24(+'(p10, +(p2, +(p5, y0)))) +'(p5, +(p5, +(p1, +(p2, y0)))) -> c24(+'(p10, +(p1, +(p2, y0)))) +'(p5, +(p5, +(p1, +(p2, p5)))) -> c24(+'(p10, +(p1, +(p2, p5)))) +'(p5, +(p5, +(p1, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p5, +(p2, +(p2, y0)))) -> c24(+'(p10, +(p2, +(p2, y0)))) +'(p5, +(p5, +(p2, +(p2, p5)))) -> c24(+'(p10, +(p2, +(p2, p5)))) +'(p5, +(p5, +(p2, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c24_1 ---------------------------------------- (189) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 18 leading nodes: +'(p5, +(p5, +(p1, y0))) -> c24(+'(p10, +(p1, y0))) +'(p5, +(p5, +(p1, +(p2, y0)))) -> c24(+'(p10, +(p1, +(p2, y0)))) +'(p5, +(p5, +(p1, +(p2, p5)))) -> c24(+'(p10, +(p1, +(p2, p5)))) +'(p5, +(p5, +(p1, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p5, +(p2, y0))) -> c24(+'(p10, +(p2, y0))) +'(p5, +(p5, +(p2, +(p2, y0)))) -> c24(+'(p10, +(p2, +(p2, y0)))) +'(p5, +(p5, +(p2, +(p2, p5)))) -> c24(+'(p10, +(p2, +(p2, p5)))) +'(p5, +(p5, +(p2, +(p2, +(p5, y0))))) -> c24(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p5, +(p2, p2))) -> c24(+'(p10, +(p2, p2))) +'(p5, +(p5, +(p2, p5))) -> c24(+'(p10, +(p2, p5))) +'(p5, +(p5, +(p2, +(p5, y0)))) -> c24(+'(p10, +(p2, +(p5, y0)))) +'(p5, +(p5, +(p1, p2))) -> c24(+'(p10, +(p1, p2))) +'(p5, +(p5, +(p1, p5))) -> c24(+'(p10, +(p1, p5))) +'(p5, +(p5, +(p1, +(p5, y0)))) -> c24(+'(p10, +(p1, +(p5, y0)))) +'(p5, +(p5, +(p5, y0))) -> c24(+'(p10, +(p5, y0))) +'(p5, +(p5, p1)) -> c24(+'(p10, p1)) +'(p5, +(p5, p2)) -> c24(+'(p10, p2)) +'(p5, +(p5, p5)) -> c24(+'(p10, p5)) ---------------------------------------- (190) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19(+'(p5, +(p5, z0))) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p5, z0))) -> c21(+'(p5, +(p5, z0))) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p5, z0))) -> c23(+'(p5, +(p5, z0))) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15(+'(p5, +(p5, y0))) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1 ---------------------------------------- (191) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (192) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c30_1, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15 ---------------------------------------- (193) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p10, +(p5, z0)) -> c30(+'(p10, z0)) by +'(p10, +(p5, p1)) -> c30(+'(p10, p1)) +'(p10, +(p5, p2)) -> c30(+'(p10, p2)) +'(p10, +(p5, p5)) -> c30(+'(p10, p5)) +'(p10, +(p5, +(p5, y0))) -> c30(+'(p10, +(p5, y0))) +'(p10, +(p5, +(p1, y0))) -> c30(+'(p10, +(p1, y0))) +'(p10, +(p5, +(p1, p2))) -> c30(+'(p10, +(p1, p2))) +'(p10, +(p5, +(p1, p5))) -> c30(+'(p10, +(p1, p5))) +'(p10, +(p5, +(p1, +(p5, y0)))) -> c30(+'(p10, +(p1, +(p5, y0)))) +'(p10, +(p5, +(p2, y0))) -> c30(+'(p10, +(p2, y0))) +'(p10, +(p5, +(p2, p2))) -> c30(+'(p10, +(p2, p2))) +'(p10, +(p5, +(p2, p5))) -> c30(+'(p10, +(p2, p5))) +'(p10, +(p5, +(p2, +(p5, y0)))) -> c30(+'(p10, +(p2, +(p5, y0)))) +'(p10, +(p5, +(p1, +(p2, y0)))) -> c30(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p5, +(p1, +(p2, p5)))) -> c30(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p5, +(p1, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p5, +(p2, +(p2, y0)))) -> c30(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p5, +(p2, +(p2, p5)))) -> c30(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p5, +(p2, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p2, +(p2, +(p5, y0))))) ---------------------------------------- (194) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p5, p1)) -> c30(+'(p10, p1)) +'(p10, +(p5, p2)) -> c30(+'(p10, p2)) +'(p10, +(p5, p5)) -> c30(+'(p10, p5)) +'(p10, +(p5, +(p5, y0))) -> c30(+'(p10, +(p5, y0))) +'(p10, +(p5, +(p1, y0))) -> c30(+'(p10, +(p1, y0))) +'(p10, +(p5, +(p1, p2))) -> c30(+'(p10, +(p1, p2))) +'(p10, +(p5, +(p1, p5))) -> c30(+'(p10, +(p1, p5))) +'(p10, +(p5, +(p1, +(p5, y0)))) -> c30(+'(p10, +(p1, +(p5, y0)))) +'(p10, +(p5, +(p2, y0))) -> c30(+'(p10, +(p2, y0))) +'(p10, +(p5, +(p2, p2))) -> c30(+'(p10, +(p2, p2))) +'(p10, +(p5, +(p2, p5))) -> c30(+'(p10, +(p2, p5))) +'(p10, +(p5, +(p2, +(p5, y0)))) -> c30(+'(p10, +(p2, +(p5, y0)))) +'(p10, +(p5, +(p1, +(p2, y0)))) -> c30(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p5, +(p1, +(p2, p5)))) -> c30(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p5, +(p1, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p5, +(p2, +(p2, y0)))) -> c30(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p5, +(p2, +(p2, p5)))) -> c30(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p5, +(p2, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p5, p1)) -> c30(+'(p10, p1)) +'(p10, +(p5, p2)) -> c30(+'(p10, p2)) +'(p10, +(p5, p5)) -> c30(+'(p10, p5)) +'(p10, +(p5, +(p5, y0))) -> c30(+'(p10, +(p5, y0))) +'(p10, +(p5, +(p1, y0))) -> c30(+'(p10, +(p1, y0))) +'(p10, +(p5, +(p1, p2))) -> c30(+'(p10, +(p1, p2))) +'(p10, +(p5, +(p1, p5))) -> c30(+'(p10, +(p1, p5))) +'(p10, +(p5, +(p1, +(p5, y0)))) -> c30(+'(p10, +(p1, +(p5, y0)))) +'(p10, +(p5, +(p2, y0))) -> c30(+'(p10, +(p2, y0))) +'(p10, +(p5, +(p2, p2))) -> c30(+'(p10, +(p2, p2))) +'(p10, +(p5, +(p2, p5))) -> c30(+'(p10, +(p2, p5))) +'(p10, +(p5, +(p2, +(p5, y0)))) -> c30(+'(p10, +(p2, +(p5, y0)))) +'(p10, +(p5, +(p1, +(p2, y0)))) -> c30(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p5, +(p1, +(p2, p5)))) -> c30(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p5, +(p1, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p5, +(p2, +(p2, y0)))) -> c30(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p5, +(p2, +(p2, p5)))) -> c30(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p5, +(p2, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c30_1 ---------------------------------------- (195) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 17 leading nodes: +'(p10, +(p5, +(p1, y0))) -> c30(+'(p10, +(p1, y0))) +'(p10, +(p5, +(p1, +(p2, y0)))) -> c30(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p5, +(p1, +(p2, p5)))) -> c30(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p5, +(p1, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p5, +(p2, y0))) -> c30(+'(p10, +(p2, y0))) +'(p10, +(p5, +(p2, +(p2, y0)))) -> c30(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p5, +(p2, +(p2, p5)))) -> c30(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p5, +(p2, +(p2, +(p5, y0))))) -> c30(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p5, +(p2, p2))) -> c30(+'(p10, +(p2, p2))) +'(p10, +(p5, +(p2, p5))) -> c30(+'(p10, +(p2, p5))) +'(p10, +(p5, +(p2, +(p5, y0)))) -> c30(+'(p10, +(p2, +(p5, y0)))) +'(p10, +(p5, +(p1, p2))) -> c30(+'(p10, +(p1, p2))) +'(p10, +(p5, +(p1, p5))) -> c30(+'(p10, +(p1, p5))) +'(p10, +(p5, +(p1, +(p5, y0)))) -> c30(+'(p10, +(p1, +(p5, y0)))) +'(p10, +(p5, p1)) -> c30(+'(p10, p1)) +'(p10, +(p5, p2)) -> c30(+'(p10, p2)) +'(p10, +(p5, p5)) -> c30(+'(p10, p5)) Removed 1 trailing nodes: +'(p10, +(p5, +(p5, y0))) -> c30(+'(p10, +(p5, y0))) ---------------------------------------- (196) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p5, z0))) -> c26(+'(p10, +(p5, z0))) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p5, z0))) -> c28(+'(p10, +(p5, z0))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15 ---------------------------------------- (197) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (198) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (199) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p2, +(p2, +(p2, x0))) -> c19(+'(p5, x0)) by +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p2, +(p2, +(p2, p1))) -> c19(+'(p5, p1)) +'(p2, +(p2, +(p2, p2))) -> c19(+'(p5, p2)) +'(p2, +(p2, +(p2, +(p1, y0)))) -> c19(+'(p5, +(p1, y0))) +'(p2, +(p2, +(p2, +(p1, p5)))) -> c19(+'(p5, +(p1, p5))) +'(p2, +(p2, +(p2, +(p1, p2)))) -> c19(+'(p5, +(p1, p2))) +'(p2, +(p2, +(p2, +(p2, y0)))) -> c19(+'(p5, +(p2, y0))) +'(p2, +(p2, +(p2, +(p2, p5)))) -> c19(+'(p5, +(p2, p5))) +'(p2, +(p2, +(p2, +(p2, p2)))) -> c19(+'(p5, +(p2, p2))) +'(p2, +(p2, +(p2, +(p1, +(p2, y0))))) -> c19(+'(p5, +(p1, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p1, +(p2, p5))))) -> c19(+'(p5, +(p1, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p2, +(p2, y0))))) -> c19(+'(p5, +(p2, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p2, p5))))) -> c19(+'(p5, +(p2, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p1, +(p5, y0))))) -> c19(+'(p5, +(p1, +(p5, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p5, y0))))) -> c19(+'(p5, +(p2, +(p5, y0)))) ---------------------------------------- (200) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p2, +(p2, +(p2, p1))) -> c19(+'(p5, p1)) +'(p2, +(p2, +(p2, p2))) -> c19(+'(p5, p2)) +'(p2, +(p2, +(p2, +(p1, y0)))) -> c19(+'(p5, +(p1, y0))) +'(p2, +(p2, +(p2, +(p1, p5)))) -> c19(+'(p5, +(p1, p5))) +'(p2, +(p2, +(p2, +(p1, p2)))) -> c19(+'(p5, +(p1, p2))) +'(p2, +(p2, +(p2, +(p2, y0)))) -> c19(+'(p5, +(p2, y0))) +'(p2, +(p2, +(p2, +(p2, p5)))) -> c19(+'(p5, +(p2, p5))) +'(p2, +(p2, +(p2, +(p2, p2)))) -> c19(+'(p5, +(p2, p2))) +'(p2, +(p2, +(p2, +(p1, +(p2, y0))))) -> c19(+'(p5, +(p1, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p1, +(p2, p5))))) -> c19(+'(p5, +(p1, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p2, +(p2, y0))))) -> c19(+'(p5, +(p2, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p2, p5))))) -> c19(+'(p5, +(p2, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p1, +(p5, y0))))) -> c19(+'(p5, +(p1, +(p5, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p5, y0))))) -> c19(+'(p5, +(p2, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p2, +(p2, +(p2, p1))) -> c19(+'(p5, p1)) +'(p2, +(p2, +(p2, p2))) -> c19(+'(p5, p2)) +'(p2, +(p2, +(p2, +(p1, y0)))) -> c19(+'(p5, +(p1, y0))) +'(p2, +(p2, +(p2, +(p1, p5)))) -> c19(+'(p5, +(p1, p5))) +'(p2, +(p2, +(p2, +(p1, p2)))) -> c19(+'(p5, +(p1, p2))) +'(p2, +(p2, +(p2, +(p2, y0)))) -> c19(+'(p5, +(p2, y0))) +'(p2, +(p2, +(p2, +(p2, p5)))) -> c19(+'(p5, +(p2, p5))) +'(p2, +(p2, +(p2, +(p2, p2)))) -> c19(+'(p5, +(p2, p2))) +'(p2, +(p2, +(p2, +(p1, +(p2, y0))))) -> c19(+'(p5, +(p1, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p1, +(p2, p5))))) -> c19(+'(p5, +(p1, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p2, +(p2, y0))))) -> c19(+'(p5, +(p2, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p2, p5))))) -> c19(+'(p5, +(p2, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p1, +(p5, y0))))) -> c19(+'(p5, +(p1, +(p5, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p5, y0))))) -> c19(+'(p5, +(p2, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (201) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 16 leading nodes: +'(p2, +(p2, +(p2, +(p1, y0)))) -> c19(+'(p5, +(p1, y0))) +'(p2, +(p2, +(p2, +(p1, +(p2, y0))))) -> c19(+'(p5, +(p1, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p1, +(p2, p5))))) -> c19(+'(p5, +(p1, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p1, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p2, y0)))) -> c19(+'(p5, +(p2, y0))) +'(p2, +(p2, +(p2, +(p2, +(p2, y0))))) -> c19(+'(p5, +(p2, +(p2, y0)))) +'(p2, +(p2, +(p2, +(p2, +(p2, p5))))) -> c19(+'(p5, +(p2, +(p2, p5)))) +'(p2, +(p2, +(p2, +(p2, +(p2, +(p5, y0)))))) -> c19(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p2, p5)))) -> c19(+'(p5, +(p2, p5))) +'(p2, +(p2, +(p2, +(p2, p2)))) -> c19(+'(p5, +(p2, p2))) +'(p2, +(p2, +(p2, +(p2, +(p5, y0))))) -> c19(+'(p5, +(p2, +(p5, y0)))) +'(p2, +(p2, +(p2, +(p1, p5)))) -> c19(+'(p5, +(p1, p5))) +'(p2, +(p2, +(p2, +(p1, p2)))) -> c19(+'(p5, +(p1, p2))) +'(p2, +(p2, +(p2, +(p1, +(p5, y0))))) -> c19(+'(p5, +(p1, +(p5, y0)))) +'(p2, +(p2, +(p2, p1))) -> c19(+'(p5, p1)) +'(p2, +(p2, +(p2, p2))) -> c19(+'(p5, p2)) ---------------------------------------- (202) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (203) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p5, +(p1, x0)) -> c21(+'(p5, x0)) by +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p1)) -> c21(+'(p5, p1)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p1, +(p1, y0))) -> c21(+'(p5, +(p1, y0))) +'(p5, +(p1, +(p1, p5))) -> c21(+'(p5, +(p1, p5))) +'(p5, +(p1, +(p1, p2))) -> c21(+'(p5, +(p1, p2))) +'(p5, +(p1, +(p2, y0))) -> c21(+'(p5, +(p2, y0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p1, +(p2, y0)))) -> c21(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p1, +(p1, +(p2, p5)))) -> c21(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p1, +(p1, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p1, +(p5, y0)))) -> c21(+'(p5, +(p1, +(p5, y0)))) +'(p5, +(p1, +(p2, +(p5, y0)))) -> c21(+'(p5, +(p2, +(p5, y0)))) ---------------------------------------- (204) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, p1)) -> c21(+'(p5, p1)) +'(p5, +(p1, +(p1, y0))) -> c21(+'(p5, +(p1, y0))) +'(p5, +(p1, +(p1, p5))) -> c21(+'(p5, +(p1, p5))) +'(p5, +(p1, +(p1, p2))) -> c21(+'(p5, +(p1, p2))) +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p1, +(p2, y0)))) -> c21(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p1, +(p1, +(p2, p5)))) -> c21(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p1, +(p1, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p1, +(p5, y0)))) -> c21(+'(p5, +(p1, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, p1)) -> c21(+'(p5, p1)) +'(p5, +(p1, +(p1, y0))) -> c21(+'(p5, +(p1, y0))) +'(p5, +(p1, +(p1, p5))) -> c21(+'(p5, +(p1, p5))) +'(p5, +(p1, +(p1, p2))) -> c21(+'(p5, +(p1, p2))) +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p1, +(p2, y0)))) -> c21(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p1, +(p1, +(p2, p5)))) -> c21(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p1, +(p1, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p1, +(p5, y0)))) -> c21(+'(p5, +(p1, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (205) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 12 leading nodes: +'(p5, +(p1, +(p1, y0))) -> c21(+'(p5, +(p1, y0))) +'(p5, +(p1, +(p1, +(p2, y0)))) -> c21(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p1, +(p1, +(p2, p5)))) -> c21(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p1, +(p1, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p1, p5))) -> c21(+'(p5, +(p1, p5))) +'(p5, +(p1, p1)) -> c21(+'(p5, p1)) +'(p5, +(p1, +(p1, p2))) -> c21(+'(p5, +(p1, p2))) +'(p5, +(p1, +(p1, +(p5, y0)))) -> c21(+'(p5, +(p1, +(p5, y0)))) ---------------------------------------- (206) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (207) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p5, +(p2, x0)) -> c23(+'(p5, x0)) by +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p1)) -> c23(+'(p5, p1)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p5, +(p2, +(p1, p5))) -> c23(+'(p5, +(p1, p5))) +'(p5, +(p2, +(p1, p2))) -> c23(+'(p5, +(p1, p2))) +'(p5, +(p2, +(p2, y0))) -> c23(+'(p5, +(p2, y0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p1, +(p2, y0)))) -> c23(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p2, +(p1, +(p2, p5)))) -> c23(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p2, +(p1, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p1, +(p5, y0)))) -> c23(+'(p5, +(p1, +(p5, y0)))) +'(p5, +(p2, +(p2, +(p5, y0)))) -> c23(+'(p5, +(p2, +(p5, y0)))) ---------------------------------------- (208) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p2, p1)) -> c23(+'(p5, p1)) +'(p5, +(p2, +(p1, p5))) -> c23(+'(p5, +(p1, p5))) +'(p5, +(p2, +(p1, p2))) -> c23(+'(p5, +(p1, p2))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p1, +(p2, y0)))) -> c23(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p2, +(p1, +(p2, p5)))) -> c23(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p2, +(p1, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p1, +(p5, y0)))) -> c23(+'(p5, +(p1, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p2, p1)) -> c23(+'(p5, p1)) +'(p5, +(p2, +(p1, p5))) -> c23(+'(p5, +(p1, p5))) +'(p5, +(p2, +(p1, p2))) -> c23(+'(p5, +(p1, p2))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p1, +(p2, y0)))) -> c23(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p2, +(p1, +(p2, p5)))) -> c23(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p2, +(p1, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p1, +(p5, y0)))) -> c23(+'(p5, +(p1, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (209) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 11 leading nodes: +'(p5, +(p2, +(p1, p5))) -> c23(+'(p5, +(p1, p5))) +'(p5, +(p2, +(p1, +(p2, y0)))) -> c23(+'(p5, +(p1, +(p2, y0)))) +'(p5, +(p2, +(p1, +(p2, p5)))) -> c23(+'(p5, +(p1, +(p2, p5)))) +'(p5, +(p2, +(p1, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p1, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p2, p1)) -> c23(+'(p5, p1)) +'(p5, +(p2, +(p1, p2))) -> c23(+'(p5, +(p1, p2))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p1, +(p5, y0)))) -> c23(+'(p5, +(p1, +(p5, y0)))) ---------------------------------------- (210) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (211) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p10, +(p1, x0)) -> c26(+'(p10, x0)) by +'(p10, +(p1, p1)) -> c26(+'(p10, p1)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p1, +(p1, y0))) -> c26(+'(p10, +(p1, y0))) +'(p10, +(p1, +(p1, p2))) -> c26(+'(p10, +(p1, p2))) +'(p10, +(p1, +(p1, p5))) -> c26(+'(p10, +(p1, p5))) +'(p10, +(p1, +(p2, y0))) -> c26(+'(p10, +(p2, y0))) +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p1, +(p2, y0)))) -> c26(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p1, +(p1, +(p2, p5)))) -> c26(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p1, +(p1, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p1, +(p5, y0)))) -> c26(+'(p10, +(p1, +(p5, y0)))) +'(p10, +(p1, +(p2, +(p5, y0)))) -> c26(+'(p10, +(p2, +(p5, y0)))) ---------------------------------------- (212) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p10, +(p1, p1)) -> c26(+'(p10, p1)) +'(p10, +(p1, +(p1, y0))) -> c26(+'(p10, +(p1, y0))) +'(p10, +(p1, +(p1, p2))) -> c26(+'(p10, +(p1, p2))) +'(p10, +(p1, +(p1, p5))) -> c26(+'(p10, +(p1, p5))) +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, +(p1, +(p2, y0)))) -> c26(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p1, +(p1, +(p2, p5)))) -> c26(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p1, +(p1, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p1, +(p5, y0)))) -> c26(+'(p10, +(p1, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p10, +(p1, p1)) -> c26(+'(p10, p1)) +'(p10, +(p1, +(p1, y0))) -> c26(+'(p10, +(p1, y0))) +'(p10, +(p1, +(p1, p2))) -> c26(+'(p10, +(p1, p2))) +'(p10, +(p1, +(p1, p5))) -> c26(+'(p10, +(p1, p5))) +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, +(p1, +(p2, y0)))) -> c26(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p1, +(p1, +(p2, p5)))) -> c26(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p1, +(p1, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p1, +(p5, y0)))) -> c26(+'(p10, +(p1, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (213) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 12 leading nodes: +'(p10, +(p1, +(p1, y0))) -> c26(+'(p10, +(p1, y0))) +'(p10, +(p1, +(p1, +(p2, y0)))) -> c26(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p1, +(p1, +(p2, p5)))) -> c26(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p1, +(p1, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, p1)) -> c26(+'(p10, p1)) +'(p10, +(p1, +(p1, p2))) -> c26(+'(p10, +(p1, p2))) +'(p10, +(p1, +(p1, p5))) -> c26(+'(p10, +(p1, p5))) +'(p10, +(p1, +(p1, +(p5, y0)))) -> c26(+'(p10, +(p1, +(p5, y0)))) ---------------------------------------- (214) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (215) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p10, +(p2, x0)) -> c28(+'(p10, x0)) by +'(p10, +(p2, p1)) -> c28(+'(p10, p1)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p10, +(p2, +(p1, p2))) -> c28(+'(p10, +(p1, p2))) +'(p10, +(p2, +(p1, p5))) -> c28(+'(p10, +(p1, p5))) +'(p10, +(p2, +(p2, y0))) -> c28(+'(p10, +(p2, y0))) +'(p10, +(p2, +(p2, p2))) -> c28(+'(p10, +(p2, p2))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p1, +(p2, y0)))) -> c28(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p2, +(p1, +(p2, p5)))) -> c28(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p2, +(p1, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p2, +(p2, y0)))) -> c28(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p2, +(p2, +(p2, p5)))) -> c28(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p2, +(p2, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p1, +(p5, y0)))) -> c28(+'(p10, +(p1, +(p5, y0)))) +'(p10, +(p2, +(p2, +(p5, y0)))) -> c28(+'(p10, +(p2, +(p5, y0)))) ---------------------------------------- (216) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p10, +(p2, p1)) -> c28(+'(p10, p1)) +'(p10, +(p2, +(p1, p2))) -> c28(+'(p10, +(p1, p2))) +'(p10, +(p2, +(p1, p5))) -> c28(+'(p10, +(p1, p5))) +'(p10, +(p2, +(p2, p2))) -> c28(+'(p10, +(p2, p2))) +'(p10, +(p2, +(p1, +(p2, y0)))) -> c28(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p2, +(p1, +(p2, p5)))) -> c28(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p2, +(p1, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p2, +(p2, y0)))) -> c28(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p2, +(p2, +(p2, p5)))) -> c28(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p2, +(p2, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p1, +(p5, y0)))) -> c28(+'(p10, +(p1, +(p5, y0)))) S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p10, +(p2, p1)) -> c28(+'(p10, p1)) +'(p10, +(p2, +(p1, p2))) -> c28(+'(p10, +(p1, p2))) +'(p10, +(p2, +(p1, p5))) -> c28(+'(p10, +(p1, p5))) +'(p10, +(p2, +(p2, p2))) -> c28(+'(p10, +(p2, p2))) +'(p10, +(p2, +(p1, +(p2, y0)))) -> c28(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p2, +(p1, +(p2, p5)))) -> c28(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p2, +(p1, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p2, +(p2, y0)))) -> c28(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p2, +(p2, +(p2, p5)))) -> c28(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p2, +(p2, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p1, +(p5, y0)))) -> c28(+'(p10, +(p1, +(p5, y0)))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (217) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 11 leading nodes: +'(p10, +(p2, p1)) -> c28(+'(p10, p1)) +'(p10, +(p2, +(p1, p2))) -> c28(+'(p10, +(p1, p2))) +'(p10, +(p2, +(p1, +(p2, y0)))) -> c28(+'(p10, +(p1, +(p2, y0)))) +'(p10, +(p2, +(p1, +(p2, p5)))) -> c28(+'(p10, +(p1, +(p2, p5)))) +'(p10, +(p2, +(p1, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p1, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p2, +(p2, y0)))) -> c28(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p2, +(p2, +(p2, p5)))) -> c28(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p2, +(p2, +(p2, +(p5, y0))))) -> c28(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p2, +(p2, p2))) -> c28(+'(p10, +(p2, p2))) +'(p10, +(p2, +(p1, p5))) -> c28(+'(p10, +(p1, p5))) +'(p10, +(p2, +(p1, +(p5, y0)))) -> c28(+'(p10, +(p1, +(p5, y0)))) ---------------------------------------- (218) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (219) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. +'(p1, p1) -> c10 +'(p2, p1) -> c16 +'(p5, p1) -> c20 +'(p10, p1) -> c25 We considered the (Usable) Rules: +(+(z0, z1), z2) -> +(z0, +(z1, z2)) encArg(p5) -> p5 +(p1, +(p2, +(p2, z0))) -> +(p5, z0) encArg(p1) -> p1 +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p5) -> p10 +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p2, +(p2, p2)) -> +(p1, p5) encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p10, p1) -> +(p1, p10) +(p2, p1) -> +(p1, p2) encArg(p10) -> p10 +(p1, +(p2, p2)) -> p5 +(p10, p5) -> +(p5, p10) +(p5, +(p5, z0)) -> +(p10, z0) +(p5, p2) -> +(p2, p5) encArg(p2) -> p2 +(p1, +(p1, z0)) -> +(p2, z0) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p1, p1) -> p2 +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) And the Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 The order we found is given by the following interpretation: Polynomial interpretation : POL(+(x_1, x_2)) = 0 POL(+'(x_1, x_2)) = x_2 POL(ENCARG(x_1)) = x_1 POL(ENCODE_+(x_1, x_2)) = [1] POL(c(x_1)) = x_1 POL(c10) = 0 POL(c11) = 0 POL(c12) = 0 POL(c13(x_1, x_2)) = x_1 + x_2 POL(c15) = 0 POL(c15(x_1)) = x_1 POL(c16) = 0 POL(c17(x_1)) = x_1 POL(c18) = 0 POL(c19) = 0 POL(c19(x_1)) = x_1 POL(c20) = 0 POL(c21) = 0 POL(c21(x_1)) = x_1 POL(c22) = 0 POL(c23) = 0 POL(c23(x_1)) = x_1 POL(c25) = 0 POL(c26) = 0 POL(c26(x_1)) = x_1 POL(c27) = 0 POL(c28) = 0 POL(c28(x_1)) = x_1 POL(c29) = 0 POL(c4(x_1)) = x_1 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(cons_+(x_1, x_2)) = [1] + x_1 + x_2 POL(encArg(x_1)) = [1] POL(p1) = [1] POL(p10) = 0 POL(p2) = 0 POL(p5) = 0 ---------------------------------------- (220) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, p1) -> c10 +'(p2, p1) -> c16 +'(p5, p1) -> c20 +'(p10, p1) -> c25 Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (221) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) by +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, +(p5, y0)))) -> c21(+'(p5, +(p2, +(p5, y0)))) ---------------------------------------- (222) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, p1) -> c10 +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, p1) -> c16 +'(p2, +(p2, p2)) -> c18 +'(p5, p1) -> c20 +'(p5, p2) -> c22 +'(p10, p1) -> c25 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, x0))) -> c21(+'(p5, +(p2, x0))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p1, p1) -> c10 +'(p2, p1) -> c16 +'(p5, p1) -> c20 +'(p10, p1) -> c25 Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c10, c11, c12, c13_2, c16, c18, c20, c22, c25, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (223) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: +'(p5, +(p1, +(p2, +(p2, y0)))) -> c21(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p1, +(p2, +(p2, p5)))) -> c21(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p1, +(p2, +(p2, +(p5, y0))))) -> c21(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p1, +(p2, p2))) -> c21(+'(p5, +(p2, p2))) Removed 8 trailing nodes: ENCARG(cons_+(p10, p1)) -> c4(+'(p10, p1)) +'(p2, p1) -> c16 +'(p1, p1) -> c10 ENCARG(cons_+(p5, p1)) -> c4(+'(p5, p1)) ENCARG(cons_+(p2, p1)) -> c4(+'(p2, p1)) ENCARG(cons_+(p1, p1)) -> c4(+'(p1, p1)) +'(p10, p1) -> c25 +'(p5, p1) -> c20 ---------------------------------------- (224) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, y0))) -> c21(+'(p5, +(p2, y0))) S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c11, c12, c13_2, c18, c22, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (225) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) by +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p2, +(p5, y0)))) -> c23(+'(p5, +(p2, +(p5, y0)))) ---------------------------------------- (226) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, x0))) -> c23(+'(p5, +(p2, x0))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, y0))) -> c21(+'(p5, +(p2, y0))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c11, c12, c13_2, c18, c22, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (227) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: +'(p5, +(p2, +(p2, +(p2, y0)))) -> c23(+'(p5, +(p2, +(p2, y0)))) +'(p5, +(p2, +(p2, +(p2, p5)))) -> c23(+'(p5, +(p2, +(p2, p5)))) +'(p5, +(p2, +(p2, +(p2, +(p5, y0))))) -> c23(+'(p5, +(p2, +(p2, +(p5, y0))))) +'(p5, +(p2, +(p2, p2))) -> c23(+'(p5, +(p2, p2))) ---------------------------------------- (228) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, y0))) -> c21(+'(p5, +(p2, y0))) +'(p5, +(p2, +(p2, y0))) -> c23(+'(p5, +(p2, y0))) S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c11, c12, c13_2, c18, c22, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (229) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) by +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, +(p5, y0)))) -> c26(+'(p10, +(p2, +(p5, y0)))) ---------------------------------------- (230) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, x0))) -> c26(+'(p10, +(p2, x0))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, y0))) -> c21(+'(p5, +(p2, y0))) +'(p5, +(p2, +(p2, y0))) -> c23(+'(p5, +(p2, y0))) +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c11, c12, c13_2, c18, c22, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28 ---------------------------------------- (231) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: +'(p10, +(p1, +(p2, +(p2, y0)))) -> c26(+'(p10, +(p2, +(p2, y0)))) +'(p10, +(p1, +(p2, +(p2, p5)))) -> c26(+'(p10, +(p2, +(p2, p5)))) +'(p10, +(p1, +(p2, +(p2, +(p5, y0))))) -> c26(+'(p10, +(p2, +(p2, +(p5, y0))))) +'(p10, +(p1, +(p2, p2))) -> c26(+'(p10, +(p2, p2))) ---------------------------------------- (232) Obligation: Complexity Dependency Tuples Problem Rules: encArg(p1) -> p1 encArg(p2) -> p2 encArg(p5) -> p5 encArg(p10) -> p10 encArg(cons_+(z0, z1)) -> +(encArg(z0), encArg(z1)) +(p1, p1) -> p2 +(p1, +(p2, p2)) -> p5 +(p5, p5) -> p10 +(+(z0, z1), z2) -> +(z0, +(z1, z2)) +(p1, +(p1, z0)) -> +(p2, z0) +(p1, +(p2, +(p2, z0))) -> +(p5, z0) +(p2, p1) -> +(p1, p2) +(p2, +(p1, z0)) -> +(p1, +(p2, z0)) +(p2, +(p2, p2)) -> +(p1, p5) +(p2, +(p2, +(p2, z0))) -> +(p1, +(p5, z0)) +(p5, p1) -> +(p1, p5) +(p5, +(p1, z0)) -> +(p1, +(p5, z0)) +(p5, p2) -> +(p2, p5) +(p5, +(p2, z0)) -> +(p2, +(p5, z0)) +(p5, +(p5, z0)) -> +(p10, z0) +(p10, p1) -> +(p1, p10) +(p10, +(p1, z0)) -> +(p1, +(p10, z0)) +(p10, p2) -> +(p2, p10) +(p10, +(p2, z0)) -> +(p2, +(p10, z0)) +(p10, p5) -> +(p5, p10) +(p10, +(p5, z0)) -> +(p5, +(p10, z0)) Tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 ENCARG(cons_+(cons_+(z0, z1), x1)) -> c4(+'(+(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_+(z0, z1)), ENCARG(x1)) +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) ENCODE_+(cons_+(z0, z1), x1) -> c(+'(+(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_+(x0, cons_+(x1, p1))) -> c4(+'(encArg(x0), +(encArg(x1), p1)), ENCARG(x0), ENCARG(cons_+(x1, p1))) ENCARG(cons_+(x0, cons_+(x1, p2))) -> c4(+'(encArg(x0), +(encArg(x1), p2)), ENCARG(x0), ENCARG(cons_+(x1, p2))) ENCARG(cons_+(x0, cons_+(x1, p5))) -> c4(+'(encArg(x0), +(encArg(x1), p5)), ENCARG(x0), ENCARG(cons_+(x1, p5))) ENCARG(cons_+(x0, cons_+(x1, p10))) -> c4(+'(encArg(x0), +(encArg(x1), p10)), ENCARG(x0), ENCARG(cons_+(x1, p10))) ENCARG(cons_+(x0, cons_+(x1, cons_+(z0, z1)))) -> c4(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_+(x1, cons_+(z0, z1)))) ENCARG(cons_+(x0, cons_+(p1, x2))) -> c4(+'(encArg(x0), +(p1, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p1, x2))) ENCARG(cons_+(x0, cons_+(p2, x2))) -> c4(+'(encArg(x0), +(p2, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p2, x2))) ENCARG(cons_+(x0, cons_+(p5, x2))) -> c4(+'(encArg(x0), +(p5, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p5, x2))) ENCARG(cons_+(x0, cons_+(p10, x2))) -> c4(+'(encArg(x0), +(p10, encArg(x2))), ENCARG(x0), ENCARG(cons_+(p10, x2))) ENCARG(cons_+(x0, cons_+(cons_+(z0, z1), x2))) -> c4(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_+(cons_+(z0, z1), x2))) ENCARG(cons_+(cons_+(z0, z1), cons_+(x1, x2))) -> c4(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2))), ENCARG(cons_+(z0, z1)), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p1, cons_+(x1, x2))) -> c4(+'(p1, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p2, cons_+(x1, x2))) -> c4(+'(p2, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p5, cons_+(x1, x2))) -> c4(+'(p5, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(p10, cons_+(x1, x2))) -> c4(+'(p10, +(encArg(x1), encArg(x2))), ENCARG(cons_+(x1, x2))) ENCARG(cons_+(cons_+(z0, z1), p1)) -> c4(+'(+(encArg(z0), encArg(z1)), p1), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(cons_+(z0, z1), p2)) -> c4(+'(+(encArg(z0), encArg(z1)), p2), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p2)) -> c4(+'(p5, p2)) ENCARG(cons_+(p10, p2)) -> c4(+'(p10, p2)) ENCARG(cons_+(cons_+(z0, z1), p5)) -> c4(+'(+(encArg(z0), encArg(z1)), p5), ENCARG(cons_+(z0, z1))) ENCARG(cons_+(p5, p5)) -> c4(+'(p5, p5)) ENCARG(cons_+(p10, p5)) -> c4(+'(p10, p5)) ENCARG(cons_+(cons_+(z0, z1), p10)) -> c4(+'(+(encArg(z0), encArg(z1)), p10), ENCARG(cons_+(z0, z1))) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) ENCODE_+(cons_+(z0, z1), p1) -> c(+'(+(encArg(z0), encArg(z1)), p1)) ENCODE_+(cons_+(z0, z1), p2) -> c(+'(+(encArg(z0), encArg(z1)), p2)) ENCODE_+(cons_+(z0, z1), p5) -> c(+'(+(encArg(z0), encArg(z1)), p5)) ENCODE_+(cons_+(z0, z1), p10) -> c(+'(+(encArg(z0), encArg(z1)), p10)) ENCODE_+(x0, cons_+(x1, p1)) -> c(+'(encArg(x0), +(encArg(x1), p1))) ENCODE_+(x0, cons_+(x1, p2)) -> c(+'(encArg(x0), +(encArg(x1), p2))) ENCODE_+(x0, cons_+(x1, p5)) -> c(+'(encArg(x0), +(encArg(x1), p5))) ENCODE_+(x0, cons_+(x1, p10)) -> c(+'(encArg(x0), +(encArg(x1), p10))) ENCODE_+(x0, cons_+(x1, cons_+(z0, z1))) -> c(+'(encArg(x0), +(encArg(x1), +(encArg(z0), encArg(z1))))) ENCODE_+(x0, cons_+(p1, x2)) -> c(+'(encArg(x0), +(p1, encArg(x2)))) ENCODE_+(x0, cons_+(p2, x2)) -> c(+'(encArg(x0), +(p2, encArg(x2)))) ENCODE_+(x0, cons_+(p5, x2)) -> c(+'(encArg(x0), +(p5, encArg(x2)))) ENCODE_+(x0, cons_+(p10, x2)) -> c(+'(encArg(x0), +(p10, encArg(x2)))) ENCODE_+(x0, cons_+(cons_+(z0, z1), x2)) -> c(+'(encArg(x0), +(+(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_+(p1, cons_+(x1, x2)) -> c(+'(p1, +(encArg(x1), encArg(x2)))) ENCODE_+(p2, cons_+(x1, x2)) -> c(+'(p2, +(encArg(x1), encArg(x2)))) ENCODE_+(p5, cons_+(x1, x2)) -> c(+'(p5, +(encArg(x1), encArg(x2)))) ENCODE_+(p10, cons_+(x1, x2)) -> c(+'(p10, +(encArg(x1), encArg(x2)))) ENCODE_+(cons_+(z0, z1), cons_+(x1, x2)) -> c(+'(+(encArg(z0), encArg(z1)), +(encArg(x1), encArg(x2)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 +'(p5, +(p1, +(p2, y0))) -> c21(+'(p5, +(p2, y0))) +'(p5, +(p2, +(p2, y0))) -> c23(+'(p5, +(p2, y0))) +'(p10, +(p1, +(p2, y0))) -> c26(+'(p10, +(p2, y0))) S tuples: +'(p1, +(p2, p2)) -> c11 +'(p5, p5) -> c12 +'(p2, +(p2, p2)) -> c18 +'(p5, p2) -> c22 +'(p10, p2) -> c27 +'(p10, p5) -> c29 +'(p2, +(p2, +(p2, p5))) -> c19(+'(p5, p5)) +'(p5, +(p1, p5)) -> c21(+'(p5, p5)) +'(p5, +(p1, p2)) -> c21(+'(p5, p2)) +'(p5, +(p2, p5)) -> c23(+'(p5, p5)) +'(p5, +(p2, p2)) -> c23(+'(p5, p2)) +'(p10, +(p1, p2)) -> c26(+'(p10, p2)) +'(p10, +(p1, p5)) -> c26(+'(p10, p5)) +'(p10, +(p2, p2)) -> c28(+'(p10, p2)) +'(p10, +(p2, p5)) -> c28(+'(p10, p5)) +'(p5, +(p1, +(p2, p5))) -> c21(+'(p5, +(p2, p5))) +'(p5, +(p1, +(p2, +(p5, z0)))) -> c21(+'(p5, +(p2, +(p5, z0)))) +'(p5, +(p2, +(p2, p5))) -> c23(+'(p5, +(p2, p5))) +'(p5, +(p2, +(p2, +(p5, z0)))) -> c23(+'(p5, +(p2, +(p5, z0)))) +'(p10, +(p1, +(p2, p5))) -> c26(+'(p10, +(p2, p5))) +'(p10, +(p1, +(p2, +(p5, z0)))) -> c26(+'(p10, +(p2, +(p5, z0)))) +'(p10, +(p2, +(p2, x0))) -> c28(+'(p10, +(p2, x0))) +'(p10, +(p2, +(p2, p5))) -> c28(+'(p10, +(p2, p5))) +'(p10, +(p2, +(p2, +(p5, z0)))) -> c28(+'(p10, +(p2, +(p5, z0)))) +'(p1, +(p2, +(p2, p5))) -> c15(+'(p5, p5)) +'(p2, +(p1, p2)) -> c17(+'(p1, +(p2, p2))) +'(p2, +(p1, +(p2, p5))) -> c17(+'(p1, +(p2, +(p2, p5)))) +'(p2, +(p1, +(p2, +(p5, y0)))) -> c17(+'(p1, +(p2, +(p2, +(p5, y0))))) +'(p2, +(p2, +(p2, +(p5, z0)))) -> c19 +'(p5, +(p1, +(p5, z0))) -> c21 +'(p5, +(p2, +(p5, z0))) -> c23 +'(p1, +(p2, +(p2, +(p5, y0)))) -> c15 +'(p10, +(p1, +(p5, z0))) -> c26 +'(p10, +(p2, +(p5, z0))) -> c28 K tuples: +'(+(z0, z1), z2) -> c13(+'(z0, +(z1, z2)), +'(z1, z2)) Defined Rule Symbols: encArg_1, +_2 Defined Pair Symbols: +'_2, ENCARG_1, ENCODE_+_2 Compound Symbols: c11, c12, c13_2, c18, c22, c27, c29, c4_3, c19_1, c21_1, c23_1, c26_1, c28_1, c_1, c4_2, c4_1, c15_1, c17_1, c19, c21, c23, c15, c26, c28