/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- KILLED proof of /export/starexec/sandbox/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), 183 ms] (4) CpxRelTRS (5) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 0 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 2494 ms] (12) BOUNDS(1, INF) (13) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (14) TRS for Loop Detection (15) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (16) CpxTRS (17) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (18) CpxRelTRS (19) RelTrsToWeightedTrsProof [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) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 3 ms] (26) CpxRNTS (27) CompletionProof [UPPER BOUND(ID), 0 ms] (28) CpxTypedWeightedCompleteTrs (29) NarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (30) CpxTypedWeightedCompleteTrs (31) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (32) CpxRNTS (33) SimplificationProof [BOTH BOUNDS(ID, ID), 0 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) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 1 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 9 ms] (74) CdtProblem (75) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 8 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 904 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 906 ms] (82) CdtProblem (83) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 905 ms] (86) CdtProblem (87) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 904 ms] (90) CdtProblem (91) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 952 ms] (94) CdtProblem (95) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 951 ms] (98) CdtProblem (99) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 72 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1235 ms] (106) CdtProblem (107) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 3 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1308 ms] (110) CdtProblem (111) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1305 ms] (114) CdtProblem (115) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1306 ms] (118) CdtProblem (119) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1289 ms] (122) CdtProblem (123) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1362 ms] (126) CdtProblem (127) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1330 ms] (130) CdtProblem (131) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1373 ms] (134) CdtProblem (135) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1353 ms] (138) CdtProblem (139) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1349 ms] (142) CdtProblem (143) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1422 ms] (146) CdtProblem (147) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1467 ms] (150) CdtProblem (151) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1421 ms] (154) CdtProblem (155) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1504 ms] (158) CdtProblem (159) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1489 ms] (162) CdtProblem (163) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (164) CdtProblem (165) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 5 ms] (166) 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: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) 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(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g ---------------------------------------- (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: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) The (relative) TRS S consists of the following rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g 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: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) The (relative) TRS S consists of the following rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g 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: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) The (relative) TRS S consists of the following rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g Types: app :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app map_1 :: map_1:cons:map_2:map_3:g:cons_app cons :: map_1:cons:map_2:map_3:g:cons_app map_2 :: map_1:cons:map_2:map_3:g:cons_app map_3 :: map_1:cons:map_2:map_3:g:cons_app g :: map_1:cons:map_2:map_3:g:cons_app encArg :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app cons_app :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app encode_app :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app encode_map_1 :: map_1:cons:map_2:map_3:g:cons_app encode_cons :: map_1:cons:map_2:map_3:g:cons_app encode_map_2 :: map_1:cons:map_2:map_3:g:cons_app encode_map_3 :: map_1:cons:map_2:map_3:g:cons_app encode_g :: map_1:cons:map_2:map_3:g:cons_app hole_map_1:cons:map_2:map_3:g:cons_app1_0 :: map_1:cons:map_2:map_3:g:cons_app gen_map_1:cons:map_2:map_3:g:cons_app2_0 :: Nat -> map_1:cons:map_2:map_3:g:cons_app ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: app, encArg They will be analysed ascendingly in the following order: app < encArg ---------------------------------------- (10) Obligation: Innermost TRS: Rules: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g Types: app :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app map_1 :: map_1:cons:map_2:map_3:g:cons_app cons :: map_1:cons:map_2:map_3:g:cons_app map_2 :: map_1:cons:map_2:map_3:g:cons_app map_3 :: map_1:cons:map_2:map_3:g:cons_app g :: map_1:cons:map_2:map_3:g:cons_app encArg :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app cons_app :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app encode_app :: map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app -> map_1:cons:map_2:map_3:g:cons_app encode_map_1 :: map_1:cons:map_2:map_3:g:cons_app encode_cons :: map_1:cons:map_2:map_3:g:cons_app encode_map_2 :: map_1:cons:map_2:map_3:g:cons_app encode_map_3 :: map_1:cons:map_2:map_3:g:cons_app encode_g :: map_1:cons:map_2:map_3:g:cons_app hole_map_1:cons:map_2:map_3:g:cons_app1_0 :: map_1:cons:map_2:map_3:g:cons_app gen_map_1:cons:map_2:map_3:g:cons_app2_0 :: Nat -> map_1:cons:map_2:map_3:g:cons_app Generator Equations: gen_map_1:cons:map_2:map_3:g:cons_app2_0(0) <=> map_1 gen_map_1:cons:map_2:map_3:g:cons_app2_0(+(x, 1)) <=> cons_app(map_1, gen_map_1:cons:map_2:map_3:g:cons_app2_0(x)) The following defined symbols remain to be analysed: app, encArg They will be analysed ascendingly in the following order: app < encArg ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_map_1:cons:map_2:map_3:g:cons_app2_0(n40_0)) -> *3_0, rt in Omega(0) Induction Base: encArg(gen_map_1:cons:map_2:map_3:g:cons_app2_0(0)) Induction Step: encArg(gen_map_1:cons:map_2:map_3:g:cons_app2_0(+(n40_0, 1))) ->_R^Omega(0) app(encArg(map_1), encArg(gen_map_1:cons:map_2:map_3:g:cons_app2_0(n40_0))) ->_R^Omega(0) app(map_1, encArg(gen_map_1:cons:map_2:map_3:g:cons_app2_0(n40_0))) ->_IH app(map_1, *3_0) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (12) BOUNDS(1, INF) ---------------------------------------- (13) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (14) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) The (relative) TRS S consists of the following rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g Rewrite Strategy: INNERMOST ---------------------------------------- (15) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (16) 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: app(app(map_1, f), app(app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) app(app(app(map_2, f), c), app(app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (17) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (18) 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: app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) The (relative) TRS S consists of the following rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g app(x0, x1) -> c_app(x0, x1) Rewrite Strategy: INNERMOST ---------------------------------------- (19) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (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: app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) [1] encArg(map_1) -> map_1 [0] encArg(cons) -> cons [0] encArg(map_2) -> map_2 [0] encArg(map_3) -> map_3 [0] encArg(g) -> g [0] encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) [0] encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) [0] encode_map_1 -> map_1 [0] encode_cons -> cons [0] encode_map_2 -> map_2 [0] encode_map_3 -> map_3 [0] encode_g -> g [0] app(x0, x1) -> c_app(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: app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) [1] encArg(map_1) -> map_1 [0] encArg(cons) -> cons [0] encArg(map_2) -> map_2 [0] encArg(map_3) -> map_3 [0] encArg(g) -> g [0] encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) [0] encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) [0] encode_map_1 -> map_1 [0] encode_cons -> cons [0] encode_map_2 -> map_2 [0] encode_map_3 -> map_3 [0] encode_g -> g [0] app(x0, x1) -> c_app(x0, x1) [0] The TRS has the following type information: app :: map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app c_app :: map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app g :: map_3:c_app:g:cons:map_2:map_1:cons_app cons :: map_3:c_app:g:cons:map_2:map_1:cons_app map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app cons_app :: map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app -> map_3:c_app:g:cons:map_2:map_1:cons_app encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app Rewrite Strategy: INNERMOST ---------------------------------------- (23) 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_app(v0, v1) -> null_encode_app [0] encode_map_1 -> null_encode_map_1 [0] encode_cons -> null_encode_cons [0] encode_map_2 -> null_encode_map_2 [0] encode_map_3 -> null_encode_map_3 [0] encode_g -> null_encode_g [0] app(v0, v1) -> null_app [0] And the following fresh constants: null_encArg, null_encode_app, null_encode_map_1, null_encode_cons, null_encode_map_2, null_encode_map_3, null_encode_g, null_app ---------------------------------------- (24) 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: app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) [1] encArg(map_1) -> map_1 [0] encArg(cons) -> cons [0] encArg(map_2) -> map_2 [0] encArg(map_3) -> map_3 [0] encArg(g) -> g [0] encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) [0] encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) [0] encode_map_1 -> map_1 [0] encode_cons -> cons [0] encode_map_2 -> map_2 [0] encode_map_3 -> map_3 [0] encode_g -> g [0] app(x0, x1) -> c_app(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_app(v0, v1) -> null_encode_app [0] encode_map_1 -> null_encode_map_1 [0] encode_cons -> null_encode_cons [0] encode_map_2 -> null_encode_map_2 [0] encode_map_3 -> null_encode_map_3 [0] encode_g -> null_encode_g [0] app(v0, v1) -> null_app [0] The TRS has the following type information: app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app c_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app cons_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app Rewrite Strategy: INNERMOST ---------------------------------------- (25) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: map_3 => 4 g => 1 cons => 0 map_2 => 3 map_1 => 2 null_encArg => 0 null_encode_app => 0 null_encode_map_1 => 0 null_encode_cons => 0 null_encode_map_2 => 0 null_encode_map_3 => 0 null_encode_g => 0 null_app => 0 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> app(app(0, app(f, h)), app(app(2, f), t)) :|: f >= 0, z = 1 + 2 + f, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(f, h), c)), app(app(app(3, f), c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(app(f, 1), h), c)), app(app(app(app(4, f), 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> app(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 4 :|: z = 4 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_app(z, z') -{ 0 }-> app(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_cons -{ 0 }-> 0 :|: encode_g -{ 0 }-> 1 :|: encode_g -{ 0 }-> 0 :|: encode_map_1 -{ 0 }-> 2 :|: encode_map_1 -{ 0 }-> 0 :|: encode_map_2 -{ 0 }-> 3 :|: encode_map_2 -{ 0 }-> 0 :|: encode_map_3 -{ 0 }-> 4 :|: encode_map_3 -{ 0 }-> 0 :|: Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (27) 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_app_2 encode_map_1 encode_cons encode_map_2 encode_map_3 encode_g app_2 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_app(v0, v1) -> null_encode_app [0] encode_map_1 -> null_encode_map_1 [0] encode_cons -> null_encode_cons [0] encode_map_2 -> null_encode_map_2 [0] encode_map_3 -> null_encode_map_3 [0] encode_g -> null_encode_g [0] app(v0, v1) -> null_app [0] And the following fresh constants: null_encArg, null_encode_app, null_encode_map_1, null_encode_cons, null_encode_map_2, null_encode_map_3, null_encode_g, null_app ---------------------------------------- (28) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, app(f, h)), app(app(map_1, f), t)) [1] encArg(map_1) -> map_1 [0] encArg(cons) -> cons [0] encArg(map_2) -> map_2 [0] encArg(map_3) -> map_3 [0] encArg(g) -> g [0] encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) [0] encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) [0] encode_map_1 -> map_1 [0] encode_cons -> cons [0] encode_map_2 -> map_2 [0] encode_map_3 -> map_3 [0] encode_g -> g [0] app(x0, x1) -> c_app(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_app(v0, v1) -> null_encode_app [0] encode_map_1 -> null_encode_map_1 [0] encode_cons -> null_encode_cons [0] encode_map_2 -> null_encode_map_2 [0] encode_map_3 -> null_encode_map_3 [0] encode_g -> null_encode_g [0] app(v0, v1) -> null_app [0] The TRS has the following type information: app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app c_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app cons_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app Rewrite Strategy: INNERMOST ---------------------------------------- (29) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (30) 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: app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(c_app(f, g), h), c)), app(app(app(c_app(map_3, f), g), c), t)) [1] app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(c_app(f, g), h), c)), app(app(app(null_app, g), c), t)) [1] app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(null_app, h), c)), app(app(app(c_app(map_3, f), g), c), t)) [1] app(c_app(c_app(c_app(map_3, f), g), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(app(null_app, h), c)), app(app(app(null_app, g), c), t)) [1] app(c_app(c_app(map_2, c_app(c_app(c_app(map_3, f'), g), c')), c), c_app(c_app(cons, c_app(c_app(cons, h'), t')), t)) -> app(app(cons, app(app(app(cons, app(app(app(f', g), h'), c')), app(app(app(app(map_3, f'), g), c'), t')), c)), app(app(c_app(map_2, c_app(c_app(c_app(map_3, f'), g), c')), c), t)) [2] app(c_app(c_app(map_2, c_app(c_app(c_app(map_3, f'), g), c')), c), c_app(c_app(cons, c_app(c_app(cons, h'), t')), t)) -> app(app(cons, app(app(app(cons, app(app(app(f', g), h'), c')), app(app(app(app(map_3, f'), g), c'), t')), c)), app(app(null_app, c), t)) [2] app(c_app(c_app(map_2, c_app(c_app(map_2, f''), c'')), c), c_app(c_app(cons, c_app(c_app(cons, h''), t'')), t)) -> app(app(cons, app(app(app(cons, app(app(f'', h''), c'')), app(app(app(map_2, f''), c''), t'')), c)), app(app(c_app(map_2, c_app(c_app(map_2, f''), c'')), c), t)) [2] app(c_app(c_app(map_2, c_app(c_app(map_2, f''), c'')), c), c_app(c_app(cons, c_app(c_app(cons, h''), t'')), t)) -> app(app(cons, app(app(app(cons, app(app(f'', h''), c'')), app(app(app(map_2, f''), c''), t'')), c)), app(app(null_app, c), t)) [2] app(c_app(c_app(map_2, c_app(map_1, f1)), c), c_app(c_app(cons, c_app(c_app(cons, h1), t1)), t)) -> app(app(cons, app(app(app(cons, app(f1, h1)), app(app(map_1, f1), t1)), c)), app(app(c_app(map_2, c_app(map_1, f1)), c), t)) [2] app(c_app(c_app(map_2, c_app(map_1, f1)), c), c_app(c_app(cons, c_app(c_app(cons, h1), t1)), t)) -> app(app(cons, app(app(app(cons, app(f1, h1)), app(app(map_1, f1), t1)), c)), app(app(null_app, c), t)) [2] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(c_app(f, h), c)), app(app(c_app(map_2, f), c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(c_app(f, h), c)), app(app(null_app, c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(null_app, c)), app(app(c_app(map_2, f), c), t)) [1] app(c_app(c_app(map_2, f), c), c_app(c_app(cons, h), t)) -> app(app(cons, app(null_app, c)), app(app(null_app, c), t)) [1] app(c_app(map_1, c_app(c_app(c_app(map_3, f2), g), c1)), c_app(c_app(cons, c_app(c_app(cons, h2), t2)), t)) -> app(app(cons, app(app(cons, app(app(app(f2, g), h2), c1)), app(app(app(app(map_3, f2), g), c1), t2))), app(c_app(map_1, c_app(c_app(c_app(map_3, f2), g), c1)), t)) [2] app(c_app(map_1, c_app(c_app(c_app(map_3, f2), g), c1)), c_app(c_app(cons, c_app(c_app(cons, h2), t2)), t)) -> app(app(cons, app(app(cons, app(app(app(f2, g), h2), c1)), app(app(app(app(map_3, f2), g), c1), t2))), app(null_app, t)) [2] app(c_app(map_1, c_app(c_app(map_2, f3), c2)), c_app(c_app(cons, c_app(c_app(cons, h3), t3)), t)) -> app(app(cons, app(app(cons, app(app(f3, h3), c2)), app(app(app(map_2, f3), c2), t3))), app(c_app(map_1, c_app(c_app(map_2, f3), c2)), t)) [2] app(c_app(map_1, c_app(c_app(map_2, f3), c2)), c_app(c_app(cons, c_app(c_app(cons, h3), t3)), t)) -> app(app(cons, app(app(cons, app(app(f3, h3), c2)), app(app(app(map_2, f3), c2), t3))), app(null_app, t)) [2] app(c_app(map_1, c_app(map_1, f4)), c_app(c_app(cons, c_app(c_app(cons, h4), t4)), t)) -> app(app(cons, app(app(cons, app(f4, h4)), app(app(map_1, f4), t4))), app(c_app(map_1, c_app(map_1, f4)), t)) [2] app(c_app(map_1, c_app(map_1, f4)), c_app(c_app(cons, c_app(c_app(cons, h4), t4)), t)) -> app(app(cons, app(app(cons, app(f4, h4)), app(app(map_1, f4), t4))), app(null_app, t)) [2] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, c_app(f, h)), app(c_app(map_1, f), t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, c_app(f, h)), app(null_app, t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, null_app), app(c_app(map_1, f), t)) [1] app(c_app(map_1, f), c_app(c_app(cons, h), t)) -> app(app(cons, null_app), app(null_app, t)) [1] encArg(map_1) -> map_1 [0] encArg(cons) -> cons [0] encArg(map_2) -> map_2 [0] encArg(map_3) -> map_3 [0] encArg(g) -> g [0] encArg(cons_app(x_1, x_2)) -> app(encArg(x_1), encArg(x_2)) [0] encode_app(x_1, x_2) -> app(encArg(x_1), encArg(x_2)) [0] encode_map_1 -> map_1 [0] encode_cons -> cons [0] encode_map_2 -> map_2 [0] encode_map_3 -> map_3 [0] encode_g -> g [0] app(x0, x1) -> c_app(x0, x1) [0] encArg(v0) -> null_encArg [0] encode_app(v0, v1) -> null_encode_app [0] encode_map_1 -> null_encode_map_1 [0] encode_cons -> null_encode_cons [0] encode_map_2 -> null_encode_map_2 [0] encode_map_3 -> null_encode_map_3 [0] encode_g -> null_encode_g [0] app(v0, v1) -> null_app [0] The TRS has the following type information: app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app c_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app cons_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app -> map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encArg :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_1 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_cons :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_2 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_map_3 :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_encode_g :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app null_app :: map_3:c_app:g:cons:map_2:map_1:cons_app:null_encArg:null_encode_app:null_encode_map_1:null_encode_cons:null_encode_map_2:null_encode_map_3:null_encode_g:null_app Rewrite Strategy: INNERMOST ---------------------------------------- (31) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: map_3 => 4 g => 1 cons => 0 map_2 => 3 map_1 => 2 null_encArg => 0 null_encode_app => 0 null_encode_map_1 => 0 null_encode_cons => 0 null_encode_map_2 => 0 null_encode_map_3 => 0 null_encode_g => 0 null_app => 0 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(f1, h1)), app(app(2, f1), t1)), c)), app(app(0, c), t)) :|: h1 >= 0, c >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h1) + t1)) + t, z = 1 + (1 + 3 + (1 + 2 + f1)) + c, t >= 0, t1 >= 0, f1 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(f1, h1)), app(app(2, f1), t1)), c)), app(app(1 + 3 + (1 + 2 + f1), c), t)) :|: h1 >= 0, c >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h1) + t1)) + t, z = 1 + (1 + 3 + (1 + 2 + f1)) + c, t >= 0, t1 >= 0, f1 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(f'', h''), c'')), app(app(app(3, f''), c''), t'')), c)), app(app(0, c), t)) :|: h'' >= 0, c >= 0, f'' >= 0, t'' >= 0, z = 1 + (1 + 3 + (1 + (1 + 3 + f'') + c'')) + c, c'' >= 0, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h'') + t'')) + t app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(f'', h''), c'')), app(app(app(3, f''), c''), t'')), c)), app(app(1 + 3 + (1 + (1 + 3 + f'') + c''), c), t)) :|: h'' >= 0, c >= 0, f'' >= 0, t'' >= 0, z = 1 + (1 + 3 + (1 + (1 + 3 + f'') + c'')) + c, c'' >= 0, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h'') + t'')) + t app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(app(f', 1), h'), c')), app(app(app(app(4, f'), 1), c'), t')), c)), app(app(0, c), t)) :|: f' >= 0, c >= 0, c' >= 0, t' >= 0, h' >= 0, z = 1 + (1 + 3 + (1 + (1 + (1 + 4 + f') + 1) + c')) + c, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h') + t')) + t app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(app(f', 1), h'), c')), app(app(app(app(4, f'), 1), c'), t')), c)), app(app(1 + 3 + (1 + (1 + (1 + 4 + f') + 1) + c'), c), t)) :|: f' >= 0, c >= 0, c' >= 0, t' >= 0, h' >= 0, z = 1 + (1 + 3 + (1 + (1 + (1 + 4 + f') + 1) + c')) + c, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h') + t')) + t app(z, z') -{ 1 }-> app(app(0, app(app(0, h), c)), app(app(app(0, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(0, h), c)), app(app(app(1 + 4 + f, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(f4, h4)), app(app(2, f4), t4))), app(0, t)) :|: f4 >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h4) + t4)) + t, t >= 0, z = 1 + 2 + (1 + 2 + f4), t4 >= 0, h4 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(f4, h4)), app(app(2, f4), t4))), app(1 + 2 + (1 + 2 + f4), t)) :|: f4 >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h4) + t4)) + t, t >= 0, z = 1 + 2 + (1 + 2 + f4), t4 >= 0, h4 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(f3, h3), c2)), app(app(app(3, f3), c2), t3))), app(0, t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h3) + t3)) + t, c2 >= 0, z = 1 + 2 + (1 + (1 + 3 + f3) + c2), t >= 0, t3 >= 0, f3 >= 0, h3 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(f3, h3), c2)), app(app(app(3, f3), c2), t3))), app(1 + 2 + (1 + (1 + 3 + f3) + c2), t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h3) + t3)) + t, c2 >= 0, z = 1 + 2 + (1 + (1 + 3 + f3) + c2), t >= 0, t3 >= 0, f3 >= 0, h3 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(app(f2, 1), h2), c1)), app(app(app(app(4, f2), 1), c1), t2))), app(0, t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h2) + t2)) + t, f2 >= 0, t >= 0, c1 >= 0, z = 1 + 2 + (1 + (1 + (1 + 4 + f2) + 1) + c1), h2 >= 0, t2 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(app(f2, 1), h2), c1)), app(app(app(app(4, f2), 1), c1), t2))), app(1 + 2 + (1 + (1 + (1 + 4 + f2) + 1) + c1), t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h2) + t2)) + t, f2 >= 0, t >= 0, c1 >= 0, z = 1 + 2 + (1 + (1 + (1 + 4 + f2) + 1) + c1), h2 >= 0, t2 >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(1 + f + 1, h), c)), app(app(app(0, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(1 + f + 1, h), c)), app(app(app(1 + 4 + f, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(0, c)), app(app(0, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(0, c)), app(app(1 + 3 + f, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(1 + f + h, c)), app(app(0, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(1 + f + h, c)), app(app(1 + 3 + f, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 0), app(0, t)) :|: f >= 0, z = 1 + 2 + f, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 0), app(1 + 2 + f, t)) :|: f >= 0, z = 1 + 2 + f, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 1 + f + h), app(0, t)) :|: f >= 0, z = 1 + 2 + f, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 1 + f + h), app(1 + 2 + f, t)) :|: f >= 0, z = 1 + 2 + f, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> app(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 4 :|: z = 4 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_app(z, z') -{ 0 }-> app(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_cons -{ 0 }-> 0 :|: encode_g -{ 0 }-> 1 :|: encode_g -{ 0 }-> 0 :|: encode_map_1 -{ 0 }-> 2 :|: encode_map_1 -{ 0 }-> 0 :|: encode_map_2 -{ 0 }-> 3 :|: encode_map_2 -{ 0 }-> 0 :|: encode_map_3 -{ 0 }-> 4 :|: encode_map_3 -{ 0 }-> 0 :|: ---------------------------------------- (33) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(f1, h1)), app(app(2, f1), t1)), c)), app(app(0, c), t)) :|: h1 >= 0, c >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h1) + t1)) + t, z = 1 + (1 + 3 + (1 + 2 + f1)) + c, t >= 0, t1 >= 0, f1 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(f1, h1)), app(app(2, f1), t1)), c)), app(app(1 + 3 + (1 + 2 + f1), c), t)) :|: h1 >= 0, c >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h1) + t1)) + t, z = 1 + (1 + 3 + (1 + 2 + f1)) + c, t >= 0, t1 >= 0, f1 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(f'', h''), c'')), app(app(app(3, f''), c''), t'')), c)), app(app(0, c), t)) :|: h'' >= 0, c >= 0, f'' >= 0, t'' >= 0, z = 1 + (1 + 3 + (1 + (1 + 3 + f'') + c'')) + c, c'' >= 0, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h'') + t'')) + t app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(f'', h''), c'')), app(app(app(3, f''), c''), t'')), c)), app(app(1 + 3 + (1 + (1 + 3 + f'') + c''), c), t)) :|: h'' >= 0, c >= 0, f'' >= 0, t'' >= 0, z = 1 + (1 + 3 + (1 + (1 + 3 + f'') + c'')) + c, c'' >= 0, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h'') + t'')) + t app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(app(f', 1), h'), c')), app(app(app(app(4, f'), 1), c'), t')), c)), app(app(0, c), t)) :|: f' >= 0, c >= 0, c' >= 0, t' >= 0, h' >= 0, z = 1 + (1 + 3 + (1 + (1 + (1 + 4 + f') + 1) + c')) + c, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h') + t')) + t app(z, z') -{ 2 }-> app(app(0, app(app(app(0, app(app(app(f', 1), h'), c')), app(app(app(app(4, f'), 1), c'), t')), c)), app(app(1 + 3 + (1 + (1 + (1 + 4 + f') + 1) + c'), c), t)) :|: f' >= 0, c >= 0, c' >= 0, t' >= 0, h' >= 0, z = 1 + (1 + 3 + (1 + (1 + (1 + 4 + f') + 1) + c')) + c, t >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h') + t')) + t app(z, z') -{ 1 }-> app(app(0, app(app(0, h), c)), app(app(app(0, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(0, h), c)), app(app(app(1 + 4 + f, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(f3, h3), c2)), app(app(app(3, f3), c2), t3))), app(0, t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h3) + t3)) + t, c2 >= 0, z = 1 + 2 + (1 + (1 + 3 + f3) + c2), t >= 0, t3 >= 0, f3 >= 0, h3 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(f3, h3), c2)), app(app(app(3, f3), c2), t3))), app(1 + 2 + (1 + (1 + 3 + f3) + c2), t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h3) + t3)) + t, c2 >= 0, z = 1 + 2 + (1 + (1 + 3 + f3) + c2), t >= 0, t3 >= 0, f3 >= 0, h3 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(app(f2, 1), h2), c1)), app(app(app(app(4, f2), 1), c1), t2))), app(0, t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h2) + t2)) + t, f2 >= 0, t >= 0, c1 >= 0, z = 1 + 2 + (1 + (1 + (1 + 4 + f2) + 1) + c1), h2 >= 0, t2 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(app(app(f2, 1), h2), c1)), app(app(app(app(4, f2), 1), c1), t2))), app(1 + 2 + (1 + (1 + (1 + 4 + f2) + 1) + c1), t)) :|: z' = 1 + (1 + 0 + (1 + (1 + 0 + h2) + t2)) + t, f2 >= 0, t >= 0, c1 >= 0, z = 1 + 2 + (1 + (1 + (1 + 4 + f2) + 1) + c1), h2 >= 0, t2 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(z - 6, h4)), app(app(2, z - 6), t4))), app(0, t)) :|: z - 6 >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h4) + t4)) + t, t >= 0, t4 >= 0, h4 >= 0 app(z, z') -{ 2 }-> app(app(0, app(app(0, app(z - 6, h4)), app(app(2, z - 6), t4))), app(1 + 2 + (1 + 2 + (z - 6)), t)) :|: z - 6 >= 0, z' = 1 + (1 + 0 + (1 + (1 + 0 + h4) + t4)) + t, t >= 0, t4 >= 0, h4 >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(1 + f + 1, h), c)), app(app(app(0, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(app(1 + f + 1, h), c)), app(app(app(1 + 4 + f, 1), c), t)) :|: f >= 0, c >= 0, z = 1 + (1 + (1 + 4 + f) + 1) + c, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(0, c)), app(app(0, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(0, c)), app(app(1 + 3 + f, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(1 + f + h, c)), app(app(0, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, app(1 + f + h, c)), app(app(1 + 3 + f, c), t)) :|: f >= 0, z = 1 + (1 + 3 + f) + c, c >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 0), app(0, t)) :|: z - 3 >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 0), app(1 + 2 + (z - 3), t)) :|: z - 3 >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 1 + (z - 3) + h), app(0, t)) :|: z - 3 >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 1 }-> app(app(0, 1 + (z - 3) + h), app(1 + 2 + (z - 3), t)) :|: z - 3 >= 0, z' = 1 + (1 + 0 + h) + t, h >= 0, t >= 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> app(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 4 :|: z = 4 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_app(z, z') -{ 0 }-> app(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cons -{ 0 }-> 0 :|: encode_g -{ 0 }-> 1 :|: encode_g -{ 0 }-> 0 :|: encode_map_1 -{ 0 }-> 2 :|: encode_map_1 -{ 0 }-> 0 :|: encode_map_2 -{ 0 }-> 3 :|: encode_map_2 -{ 0 }-> 0 :|: encode_map_3 -{ 0 }-> 4 :|: encode_map_3 -{ 0 }-> 0 :|: ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) encode_app(z0, z1) -> app(encArg(z0), encArg(z1)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(map_1) -> c ENCARG(cons) -> c1 ENCARG(map_2) -> c2 ENCARG(map_3) -> c3 ENCARG(g) -> c4 ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_APP(z0, z1) -> c6(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MAP_1 -> c7 ENCODE_CONS -> c8 ENCODE_MAP_2 -> c9 ENCODE_MAP_3 -> c10 ENCODE_G -> c11 APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(app(cons, app(z0, z1)), app(app(map_1, z0), z2)), APP(cons, app(z0, z1)), APP(z0, z1), APP(app(map_1, z0), z2), APP(map_1, z0)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), APP(cons, app(app(z0, z2), z1)), APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3), APP(app(map_2, z0), z1), APP(map_2, z0)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), APP(cons, app(app(app(z0, g), z2), z1)), APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(z0, g), APP(app(app(app(map_3, z0), g), z1), z3), APP(app(app(map_3, z0), g), z1), APP(app(map_3, z0), g), APP(map_3, z0)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(app(cons, app(z0, z1)), app(app(map_1, z0), z2)), APP(cons, app(z0, z1)), APP(z0, z1), APP(app(map_1, z0), z2), APP(map_1, z0)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), APP(cons, app(app(z0, z2), z1)), APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3), APP(app(map_2, z0), z1), APP(map_2, z0)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), APP(cons, app(app(app(z0, g), z2), z1)), APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(z0, g), APP(app(app(app(map_3, z0), g), z1), z3), APP(app(app(map_3, z0), g), z1), APP(app(map_3, z0), g), APP(map_3, z0)) K tuples:none Defined Rule Symbols: app_2, encArg_1, encode_app_2, encode_map_1, encode_cons, encode_map_2, encode_map_3, encode_g Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, ENCODE_MAP_1, ENCODE_CONS, ENCODE_MAP_2, ENCODE_MAP_3, ENCODE_G, APP_2 Compound Symbols: c, c1, c2, c3, c4, c5_3, c6_3, c7, c8, c9, c10, c11, c12_5, c13_7, c14_9 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 10 trailing nodes: ENCODE_G -> c11 ENCARG(g) -> c4 ENCODE_MAP_3 -> c10 ENCODE_MAP_1 -> c7 ENCODE_MAP_2 -> c9 ENCODE_CONS -> c8 ENCARG(map_2) -> c2 ENCARG(cons) -> c1 ENCARG(map_1) -> c ENCARG(map_3) -> c3 ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) encode_app(z0, z1) -> app(encArg(z0), encArg(z1)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_APP(z0, z1) -> c6(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(app(cons, app(z0, z1)), app(app(map_1, z0), z2)), APP(cons, app(z0, z1)), APP(z0, z1), APP(app(map_1, z0), z2), APP(map_1, z0)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), APP(cons, app(app(z0, z2), z1)), APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3), APP(app(map_2, z0), z1), APP(map_2, z0)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), APP(cons, app(app(app(z0, g), z2), z1)), APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(z0, g), APP(app(app(app(map_3, z0), g), z1), z3), APP(app(app(map_3, z0), g), z1), APP(app(map_3, z0), g), APP(map_3, z0)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(app(cons, app(z0, z1)), app(app(map_1, z0), z2)), APP(cons, app(z0, z1)), APP(z0, z1), APP(app(map_1, z0), z2), APP(map_1, z0)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), APP(cons, app(app(z0, z2), z1)), APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3), APP(app(map_2, z0), z1), APP(map_2, z0)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), APP(cons, app(app(app(z0, g), z2), z1)), APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(z0, g), APP(app(app(app(map_3, z0), g), z1), z3), APP(app(app(map_3, z0), g), z1), APP(app(map_3, z0), g), APP(map_3, z0)) K tuples:none Defined Rule Symbols: app_2, encArg_1, encode_app_2, encode_map_1, encode_cons, encode_map_2, encode_map_3, encode_g Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_3, c6_3, c12_5, c13_7, c14_9 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 13 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) encode_app(z0, z1) -> app(encArg(z0), encArg(z1)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_APP(z0, z1) -> c6(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: app_2, encArg_1, encode_app_2, encode_map_1, encode_cons, encode_map_2, encode_map_3, encode_g Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_3, c6_3, c12_2, c13_3, c14_3 ---------------------------------------- (41) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) encode_app(z0, z1) -> app(encArg(z0), encArg(z1)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCODE_APP(z0, z1) -> c(APP(encArg(z0), encArg(z1))) ENCODE_APP(z0, z1) -> c(ENCARG(z0)) ENCODE_APP(z0, z1) -> c(ENCARG(z1)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: app_2, encArg_1, encode_app_2, encode_map_1, encode_cons, encode_map_2, encode_map_3, encode_g Defined Pair Symbols: ENCARG_1, APP_2, ENCODE_APP_2 Compound Symbols: c5_3, c12_2, c13_3, c14_3, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 2 leading nodes: ENCODE_APP(z0, z1) -> c(ENCARG(z0)) ENCODE_APP(z0, z1) -> c(ENCARG(z1)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) encode_app(z0, z1) -> app(encArg(z0), encArg(z1)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCODE_APP(z0, z1) -> c(APP(encArg(z0), encArg(z1))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: app_2, encArg_1, encode_app_2, encode_map_1, encode_cons, encode_map_2, encode_map_3, encode_g Defined Pair Symbols: ENCARG_1, APP_2, ENCODE_APP_2 Compound Symbols: c5_3, c12_2, c13_3, c14_3, c_1 ---------------------------------------- (45) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_app(z0, z1) -> app(encArg(z0), encArg(z1)) encode_map_1 -> map_1 encode_cons -> cons encode_map_2 -> map_2 encode_map_3 -> map_3 encode_g -> g ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCODE_APP(z0, z1) -> c(APP(encArg(z0), encArg(z1))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, APP_2, ENCODE_APP_2 Compound Symbols: c5_3, c12_2, c13_3, c14_3, c_1 ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_app(z0, z1)) -> c5(APP(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_app(x0, map_1)) -> c5(APP(encArg(x0), map_1), ENCARG(x0), ENCARG(map_1)) ENCARG(cons_app(x0, cons)) -> c5(APP(encArg(x0), cons), ENCARG(x0), ENCARG(cons)) ENCARG(cons_app(x0, map_2)) -> c5(APP(encArg(x0), map_2), ENCARG(x0), ENCARG(map_2)) ENCARG(cons_app(x0, map_3)) -> c5(APP(encArg(x0), map_3), ENCARG(x0), ENCARG(map_3)) ENCARG(cons_app(x0, g)) -> c5(APP(encArg(x0), g), ENCARG(x0), ENCARG(g)) ENCARG(cons_app(x0, cons_app(z0, z1))) -> c5(APP(encArg(x0), app(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_app(z0, z1))) ENCARG(cons_app(map_1, x1)) -> c5(APP(map_1, encArg(x1)), ENCARG(map_1), ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(APP(cons, encArg(x1)), ENCARG(cons), ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(APP(map_2, encArg(x1)), ENCARG(map_2), ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(APP(map_3, encArg(x1)), ENCARG(map_3), ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(APP(g, encArg(x1)), ENCARG(g), ENCARG(x1)) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCODE_APP(z0, z1) -> c(APP(encArg(z0), encArg(z1))) ENCARG(cons_app(x0, map_1)) -> c5(APP(encArg(x0), map_1), ENCARG(x0), ENCARG(map_1)) ENCARG(cons_app(x0, cons)) -> c5(APP(encArg(x0), cons), ENCARG(x0), ENCARG(cons)) ENCARG(cons_app(x0, map_2)) -> c5(APP(encArg(x0), map_2), ENCARG(x0), ENCARG(map_2)) ENCARG(cons_app(x0, map_3)) -> c5(APP(encArg(x0), map_3), ENCARG(x0), ENCARG(map_3)) ENCARG(cons_app(x0, g)) -> c5(APP(encArg(x0), g), ENCARG(x0), ENCARG(g)) ENCARG(cons_app(x0, cons_app(z0, z1))) -> c5(APP(encArg(x0), app(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_app(z0, z1))) ENCARG(cons_app(map_1, x1)) -> c5(APP(map_1, encArg(x1)), ENCARG(map_1), ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(APP(cons, encArg(x1)), ENCARG(cons), ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(APP(map_2, encArg(x1)), ENCARG(map_2), ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(APP(map_3, encArg(x1)), ENCARG(map_3), ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(APP(g, encArg(x1)), ENCARG(g), ENCARG(x1)) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCODE_APP_2, ENCARG_1 Compound Symbols: c12_2, c13_3, c14_3, c_1, c5_3 ---------------------------------------- (49) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 20 trailing tuple parts ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCODE_APP(z0, z1) -> c(APP(encArg(z0), encArg(z1))) ENCARG(cons_app(x0, cons_app(z0, z1))) -> c5(APP(encArg(x0), app(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_app(z0, z1))) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCODE_APP_2, ENCARG_1 Compound Symbols: c12_2, c13_3, c14_3, c_1, c5_3, c5_1 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_APP(z0, z1) -> c(APP(encArg(z0), encArg(z1))) by ENCODE_APP(x0, map_1) -> c(APP(encArg(x0), map_1)) ENCODE_APP(x0, cons) -> c(APP(encArg(x0), cons)) ENCODE_APP(x0, map_2) -> c(APP(encArg(x0), map_2)) ENCODE_APP(x0, map_3) -> c(APP(encArg(x0), map_3)) ENCODE_APP(x0, g) -> c(APP(encArg(x0), g)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(map_1, x1) -> c(APP(map_1, encArg(x1))) ENCODE_APP(cons, x1) -> c(APP(cons, encArg(x1))) ENCODE_APP(map_2, x1) -> c(APP(map_2, encArg(x1))) ENCODE_APP(map_3, x1) -> c(APP(map_3, encArg(x1))) ENCODE_APP(g, x1) -> c(APP(g, encArg(x1))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, cons_app(z0, z1))) -> c5(APP(encArg(x0), app(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_app(z0, z1))) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(x0, map_1) -> c(APP(encArg(x0), map_1)) ENCODE_APP(x0, cons) -> c(APP(encArg(x0), cons)) ENCODE_APP(x0, map_2) -> c(APP(encArg(x0), map_2)) ENCODE_APP(x0, map_3) -> c(APP(encArg(x0), map_3)) ENCODE_APP(x0, g) -> c(APP(encArg(x0), g)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(map_1, x1) -> c(APP(map_1, encArg(x1))) ENCODE_APP(cons, x1) -> c(APP(cons, encArg(x1))) ENCODE_APP(map_2, x1) -> c(APP(map_2, encArg(x1))) ENCODE_APP(map_3, x1) -> c(APP(map_3, encArg(x1))) ENCODE_APP(g, x1) -> c(APP(g, encArg(x1))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_3, c5_1, c_1 ---------------------------------------- (53) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 10 trailing nodes: ENCODE_APP(x0, cons) -> c(APP(encArg(x0), cons)) ENCODE_APP(cons, x1) -> c(APP(cons, encArg(x1))) ENCODE_APP(x0, g) -> c(APP(encArg(x0), g)) ENCODE_APP(x0, map_3) -> c(APP(encArg(x0), map_3)) ENCODE_APP(g, x1) -> c(APP(g, encArg(x1))) ENCODE_APP(x0, map_1) -> c(APP(encArg(x0), map_1)) ENCODE_APP(map_2, x1) -> c(APP(map_2, encArg(x1))) ENCODE_APP(map_1, x1) -> c(APP(map_1, encArg(x1))) ENCODE_APP(map_3, x1) -> c(APP(map_3, encArg(x1))) ENCODE_APP(x0, map_2) -> c(APP(encArg(x0), map_2)) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, cons_app(z0, z1))) -> c5(APP(encArg(x0), app(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_app(z0, z1))) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_3, c5_1, c_1 ---------------------------------------- (55) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_app(x0, cons_app(z0, z1))) -> c5(APP(encArg(x0), app(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_app(z0, z1))) by ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(APP(encArg(x0), app(map_1, encArg(x2))), ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(APP(encArg(x0), app(cons, encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(APP(encArg(x0), app(map_2, encArg(x2))), ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(APP(encArg(x0), app(map_3, encArg(x2))), ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(APP(encArg(x0), app(g, encArg(x2))), ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(APP(map_1, app(encArg(x1), encArg(x2))), ENCARG(map_1), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(APP(cons, app(encArg(x1), encArg(x2))), ENCARG(cons), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(APP(map_2, app(encArg(x1), encArg(x2))), ENCARG(map_2), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(APP(map_3, app(encArg(x1), encArg(x2))), ENCARG(map_3), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(APP(g, app(encArg(x1), encArg(x2))), ENCARG(g), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(APP(encArg(x0), app(map_1, encArg(x2))), ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(APP(encArg(x0), app(cons, encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(APP(encArg(x0), app(map_2, encArg(x2))), ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(APP(encArg(x0), app(map_3, encArg(x2))), ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(APP(encArg(x0), app(g, encArg(x2))), ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(APP(map_1, app(encArg(x1), encArg(x2))), ENCARG(map_1), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(APP(cons, app(encArg(x1), encArg(x2))), ENCARG(cons), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(APP(map_2, app(encArg(x1), encArg(x2))), ENCARG(map_2), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(APP(map_3, app(encArg(x1), encArg(x2))), ENCARG(map_3), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(APP(g, app(encArg(x1), encArg(x2))), ENCARG(g), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_3, c5_1, c_1 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 15 trailing tuple parts ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_3, c5_1, c_1, c5_2 ---------------------------------------- (59) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_app(cons_app(z0, z1), x1)) -> c5(APP(app(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_app(z0, z1)), ENCARG(x1)) by ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(APP(app(encArg(x0), encArg(x1)), map_1), ENCARG(cons_app(x0, x1)), ENCARG(map_1)) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(APP(app(encArg(x0), encArg(x1)), cons), ENCARG(cons_app(x0, x1)), ENCARG(cons)) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(APP(app(encArg(x0), encArg(x1)), map_2), ENCARG(cons_app(x0, x1)), ENCARG(map_2)) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(APP(app(encArg(x0), encArg(x1)), map_3), ENCARG(cons_app(x0, x1)), ENCARG(map_3)) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(APP(app(encArg(x0), encArg(x1)), g), ENCARG(cons_app(x0, x1)), ENCARG(g)) ENCARG(cons_app(cons_app(x0, x1), cons_app(z0, z1))) -> c5(APP(app(encArg(x0), encArg(x1)), app(encArg(z0), encArg(z1))), ENCARG(cons_app(x0, x1)), ENCARG(cons_app(z0, z1))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(APP(app(cons, encArg(x1)), encArg(x2)), ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(APP(app(map_2, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(APP(app(map_3, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(APP(app(g, encArg(x1)), encArg(x2)), ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(APP(app(encArg(x0), encArg(x1)), map_1), ENCARG(cons_app(x0, x1)), ENCARG(map_1)) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(APP(app(encArg(x0), encArg(x1)), cons), ENCARG(cons_app(x0, x1)), ENCARG(cons)) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(APP(app(encArg(x0), encArg(x1)), map_2), ENCARG(cons_app(x0, x1)), ENCARG(map_2)) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(APP(app(encArg(x0), encArg(x1)), map_3), ENCARG(cons_app(x0, x1)), ENCARG(map_3)) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(APP(app(encArg(x0), encArg(x1)), g), ENCARG(cons_app(x0, x1)), ENCARG(g)) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(APP(app(cons, encArg(x1)), encArg(x2)), ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(APP(app(map_2, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(APP(app(map_3, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(APP(app(g, encArg(x1)), encArg(x2)), ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_1, c_1, c5_3, c5_2 ---------------------------------------- (61) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 14 trailing tuple parts ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_1, c_1, c5_3, c5_2 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_APP(x0, cons_app(z0, z1)) -> c(APP(encArg(x0), app(encArg(z0), encArg(z1)))) by ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(map_1, x2)) -> c(APP(encArg(x0), app(map_1, encArg(x2)))) ENCODE_APP(x0, cons_app(cons, x2)) -> c(APP(encArg(x0), app(cons, encArg(x2)))) ENCODE_APP(x0, cons_app(map_2, x2)) -> c(APP(encArg(x0), app(map_2, encArg(x2)))) ENCODE_APP(x0, cons_app(map_3, x2)) -> c(APP(encArg(x0), app(map_3, encArg(x2)))) ENCODE_APP(x0, cons_app(g, x2)) -> c(APP(encArg(x0), app(g, encArg(x2)))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(map_1, cons_app(x1, x2)) -> c(APP(map_1, app(encArg(x1), encArg(x2)))) ENCODE_APP(cons, cons_app(x1, x2)) -> c(APP(cons, app(encArg(x1), encArg(x2)))) ENCODE_APP(map_2, cons_app(x1, x2)) -> c(APP(map_2, app(encArg(x1), encArg(x2)))) ENCODE_APP(map_3, cons_app(x1, x2)) -> c(APP(map_3, app(encArg(x1), encArg(x2)))) ENCODE_APP(g, cons_app(x1, x2)) -> c(APP(g, app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(map_1, x2)) -> c(APP(encArg(x0), app(map_1, encArg(x2)))) ENCODE_APP(x0, cons_app(cons, x2)) -> c(APP(encArg(x0), app(cons, encArg(x2)))) ENCODE_APP(x0, cons_app(map_2, x2)) -> c(APP(encArg(x0), app(map_2, encArg(x2)))) ENCODE_APP(x0, cons_app(map_3, x2)) -> c(APP(encArg(x0), app(map_3, encArg(x2)))) ENCODE_APP(x0, cons_app(g, x2)) -> c(APP(encArg(x0), app(g, encArg(x2)))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(map_1, cons_app(x1, x2)) -> c(APP(map_1, app(encArg(x1), encArg(x2)))) ENCODE_APP(cons, cons_app(x1, x2)) -> c(APP(cons, app(encArg(x1), encArg(x2)))) ENCODE_APP(map_2, cons_app(x1, x2)) -> c(APP(map_2, app(encArg(x1), encArg(x2)))) ENCODE_APP(map_3, cons_app(x1, x2)) -> c(APP(map_3, app(encArg(x1), encArg(x2)))) ENCODE_APP(g, cons_app(x1, x2)) -> c(APP(g, app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_1, c_1, c5_3, c5_2 ---------------------------------------- (65) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 10 trailing nodes: ENCODE_APP(map_1, cons_app(x1, x2)) -> c(APP(map_1, app(encArg(x1), encArg(x2)))) ENCODE_APP(x0, cons_app(g, x2)) -> c(APP(encArg(x0), app(g, encArg(x2)))) ENCODE_APP(cons, cons_app(x1, x2)) -> c(APP(cons, app(encArg(x1), encArg(x2)))) ENCODE_APP(x0, cons_app(cons, x2)) -> c(APP(encArg(x0), app(cons, encArg(x2)))) ENCODE_APP(x0, cons_app(map_2, x2)) -> c(APP(encArg(x0), app(map_2, encArg(x2)))) ENCODE_APP(g, cons_app(x1, x2)) -> c(APP(g, app(encArg(x1), encArg(x2)))) ENCODE_APP(x0, cons_app(map_1, x2)) -> c(APP(encArg(x0), app(map_1, encArg(x2)))) ENCODE_APP(map_2, cons_app(x1, x2)) -> c(APP(map_2, app(encArg(x1), encArg(x2)))) ENCODE_APP(x0, cons_app(map_3, x2)) -> c(APP(encArg(x0), app(map_3, encArg(x2)))) ENCODE_APP(map_3, cons_app(x1, x2)) -> c(APP(map_3, app(encArg(x1), encArg(x2)))) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_1, c_1, c5_3, c5_2 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_APP(cons_app(z0, z1), x1) -> c(APP(app(encArg(z0), encArg(z1)), encArg(x1))) by ENCODE_APP(cons_app(x0, x1), map_1) -> c(APP(app(encArg(x0), encArg(x1)), map_1)) ENCODE_APP(cons_app(x0, x1), cons) -> c(APP(app(encArg(x0), encArg(x1)), cons)) ENCODE_APP(cons_app(x0, x1), map_2) -> c(APP(app(encArg(x0), encArg(x1)), map_2)) ENCODE_APP(cons_app(x0, x1), map_3) -> c(APP(app(encArg(x0), encArg(x1)), map_3)) ENCODE_APP(cons_app(x0, x1), g) -> c(APP(app(encArg(x0), encArg(x1)), g)) ENCODE_APP(cons_app(x0, x1), cons_app(z0, z1)) -> c(APP(app(encArg(x0), encArg(x1)), app(encArg(z0), encArg(z1)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons, x1), x2) -> c(APP(app(cons, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(map_2, x1), x2) -> c(APP(app(map_2, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(map_3, x1), x2) -> c(APP(app(map_3, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(g, x1), x2) -> c(APP(app(g, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, x1), map_1) -> c(APP(app(encArg(x0), encArg(x1)), map_1)) ENCODE_APP(cons_app(x0, x1), cons) -> c(APP(app(encArg(x0), encArg(x1)), cons)) ENCODE_APP(cons_app(x0, x1), map_2) -> c(APP(app(encArg(x0), encArg(x1)), map_2)) ENCODE_APP(cons_app(x0, x1), map_3) -> c(APP(app(encArg(x0), encArg(x1)), map_3)) ENCODE_APP(cons_app(x0, x1), g) -> c(APP(app(encArg(x0), encArg(x1)), g)) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons, x1), x2) -> c(APP(app(cons, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(map_2, x1), x2) -> c(APP(app(map_2, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(map_3, x1), x2) -> c(APP(app(map_3, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(g, x1), x2) -> c(APP(app(g, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_1, c5_3, c5_2, c_1 ---------------------------------------- (69) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 9 trailing nodes: ENCODE_APP(cons_app(g, x1), x2) -> c(APP(app(g, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(x0, x1), g) -> c(APP(app(encArg(x0), encArg(x1)), g)) ENCODE_APP(cons_app(x0, x1), cons) -> c(APP(app(encArg(x0), encArg(x1)), cons)) ENCODE_APP(cons_app(map_3, x1), x2) -> c(APP(app(map_3, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(x0, x1), map_3) -> c(APP(app(encArg(x0), encArg(x1)), map_3)) ENCODE_APP(cons_app(x0, x1), map_1) -> c(APP(app(encArg(x0), encArg(x1)), map_1)) ENCODE_APP(cons_app(cons, x1), x2) -> c(APP(app(cons, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(x0, x1), map_2) -> c(APP(app(encArg(x0), encArg(x1)), map_2)) ENCODE_APP(cons_app(map_2, x1), x2) -> c(APP(app(map_2, encArg(x1)), encArg(x2))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) S tuples: APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c12_2, c13_3, c14_3, c5_1, c5_3, c5_2, c_1 ---------------------------------------- (71) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace APP(app(map_1, z0), app(app(cons, z1), z2)) -> c12(APP(z0, z1), APP(app(map_1, z0), z2)) by APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) S tuples: APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c13_3, c14_3, c5_1, c5_3, c5_2, c_1, c12_2 ---------------------------------------- (73) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), z3)) by APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(map_2, y0), z2), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_2, y0), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(map_2, y0), y1), app(app(cons, y2), y3)), z1), APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(map_2, y0), y1)), z1), z3)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_3, y0), g), z2), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(map_1, app(map_1, y0)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(map_1, z2), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(map_1, app(app(map_2, y0), y1)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(map_1, app(app(app(map_3, y0), g), y1)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(map_2, y0), z2), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_2, y0), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(map_2, y0), y1), app(app(cons, y2), y3)), z1), APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(map_2, y0), y1)), z1), z3)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_3, y0), g), z2), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(map_1, app(map_1, y0)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(map_1, z2), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(map_1, app(app(map_2, y0), y1)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(map_1, app(app(app(map_3, y0), g), y1)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(map_2, y0), z2), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_2, y0), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(map_2, y0), y1), app(app(cons, y2), y3)), z1), APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(map_2, y0), y1)), z1), z3)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_3, y0), g), z2), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(map_1, app(map_1, y0)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(map_1, z2), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(map_1, app(app(map_2, y0), y1)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(map_1, app(app(app(map_3, y0), g), y1)), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, app(app(map_2, y0), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(map_2, y0), y1), app(app(cons, y2), y3)), z1), APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(map_2, y0), y1)), z1), z3)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, app(app(map_2, y0), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(map_2, y0), y1), app(app(cons, y2), y3)), z1), APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(map_2, y0), y1)), z1), z3)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(map_2, app(app(map_2, y0), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(map_2, y0), y1), app(app(cons, y2), y3)), z1), APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(map_2, y0), y1)), z1), z3)) by APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), x2), APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), x2), APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)), x2), APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c13(APP(app(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), z1), z3)) by APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), x2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), x2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)), x2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (83) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), app(app(cons, app(app(cons, app(app(cons, y1), y2)), y3)), z3)) -> c13(APP(app(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), z1), APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), y3)), APP(app(app(map_2, app(map_1, app(map_1, y0))), z1), z3)) by APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), z2)), x5)) -> c13(APP(app(app(cons, app(app(map_1, x0), app(app(cons, x2), x3))), app(app(map_1, app(map_1, x0)), z2)), x1), APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), z2)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), z2)), x5)) -> c13(APP(app(app(cons, app(app(map_1, x0), app(app(cons, x2), x3))), app(app(map_1, app(map_1, x0)), z2)), x1), APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), z2)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), z2)), x5)) -> c13(APP(app(app(cons, app(app(map_1, x0), app(app(cons, x2), x3))), app(app(map_1, app(map_1, x0)), z2)), x1), APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), z2)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (87) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(map_2, app(map_1, y0)), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c13(APP(app(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, y0), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(map_2, app(map_1, y0)), z1), z3)) by APP(app(app(map_2, app(map_1, z0)), x1), app(app(cons, app(app(cons, z1), app(app(cons, x3), x4))), x5)) -> c13(APP(app(app(cons, app(z0, z1)), app(app(map_1, z0), app(app(cons, x3), x4))), x1), APP(app(map_1, z0), app(app(cons, z1), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, z0)), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, z0)), x1), app(app(cons, app(app(cons, z1), app(app(cons, x3), x4))), x5)) -> c13(APP(app(app(cons, app(z0, z1)), app(app(map_1, z0), app(app(cons, x3), x4))), x1), APP(app(map_1, z0), app(app(cons, z1), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, z0)), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, z0)), x1), app(app(cons, app(app(cons, z1), app(app(cons, x3), x4))), x5)) -> c13(APP(app(app(cons, app(z0, z1)), app(app(map_1, z0), app(app(cons, x3), x4))), x1), APP(app(map_1, z0), app(app(cons, z1), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, z0)), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (91) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (93) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), z1), z3)) by APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z2)), x6)) -> c13(APP(app(app(cons, app(app(app(map_2, x0), x1), app(app(cons, x3), x4))), app(app(map_1, app(app(map_2, x0), x1)), z2)), x2), APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), z2)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z2)), x6)) -> c13(APP(app(app(cons, app(app(app(map_2, x0), x1), app(app(cons, x3), x4))), app(app(map_1, app(app(map_2, x0), x1)), z2)), x2), APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), z2)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z2)), x6)) -> c13(APP(app(app(cons, app(app(app(map_2, x0), x1), app(app(cons, x3), x4))), app(app(map_1, app(app(map_2, x0), x1)), z2)), x2), APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), z2)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (95) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (97) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), z3)) -> c13(APP(app(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), z1), APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), y4)), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), z1), z3)) by APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z2)), x6)) -> c13(APP(app(app(cons, app(app(app(app(map_3, x0), g), x1), app(app(cons, x3), x4))), app(app(map_1, app(app(app(map_3, x0), g), x1)), z2)), x2), APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), z2)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z2)), x6)) -> c13(APP(app(app(cons, app(app(app(app(map_3, x0), g), x1), app(app(cons, x3), x4))), app(app(map_1, app(app(app(map_3, x0), g), x1)), z2)), x2), APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), z2)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z2)), x6)) -> c13(APP(app(app(cons, app(app(app(app(map_3, x0), g), x1), app(app(cons, x3), x4))), app(app(map_1, app(app(app(map_3, x0), g), x1)), z2)), x2), APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), z2)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (99) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) S tuples: APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: APP_2, ENCARG_1, ENCODE_APP_2 Compound Symbols: c14_3, c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1 ---------------------------------------- (101) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), z3)) by APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_3, y0), g), z2), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(map_2, g), z2), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_3, y0), g), z2), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(map_2, g), z2), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_3, y0), g), z2), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(map_2, g), z2), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), z3)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), z1), APP(app(app(app(map_3, y0), g), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(app(map_3, y0), g)), g), z1), z3)) by APP(app(app(app(map_3, app(app(map_3, z0), g)), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(z0, g), z2), g)), app(app(app(app(map_3, z0), g), g), z3)), x1), APP(app(app(app(map_3, z0), g), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(app(map_3, z0), g)), g), x1), x4)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, z0), g)), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(z0, g), z2), g)), app(app(app(app(map_3, z0), g), g), z3)), x1), APP(app(app(app(map_3, z0), g), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(app(map_3, z0), g)), g), x1), x4)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, z0), g)), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(z0, g), z2), g)), app(app(app(app(map_3, z0), g), g), z3)), x1), APP(app(app(app(map_3, z0), g), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(app(map_3, z0), g)), g), x1), x4)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (107) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (109) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, map_1), g), z1), app(app(cons, app(app(cons, y1), app(app(cons, y2), y3))), z3)) -> c14(APP(app(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), z1), APP(app(map_1, g), app(app(cons, y1), app(app(cons, y2), y3))), APP(app(app(app(map_3, map_1), g), z1), z3)) by APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, z1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(app(cons, app(g, z1)), app(app(map_1, g), app(app(cons, x2), x3))), x0), APP(app(map_1, g), app(app(cons, z1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, z1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(app(cons, app(g, z1)), app(app(map_1, g), app(app(cons, x2), x3))), x0), APP(app(map_1, g), app(app(cons, z1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, z1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(app(cons, app(g, z1)), app(app(map_1, g), app(app(cons, x2), x3))), x0), APP(app(map_1, g), app(app(cons, z1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (111) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, y0)), g), z1), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), z3)) -> c14(APP(app(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), z1), APP(app(app(map_2, y0), g), app(app(cons, y2), app(app(cons, y3), y4))), APP(app(app(app(map_3, app(map_2, y0)), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, z0)), g), x1), app(app(cons, app(app(cons, z2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(cons, app(app(z0, z2), g)), app(app(app(map_2, z0), g), app(app(cons, x3), x4))), x1), APP(app(app(map_2, z0), g), app(app(cons, z2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, z0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, z0)), g), x1), app(app(cons, app(app(cons, z2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(cons, app(app(z0, z2), g)), app(app(app(map_2, z0), g), app(app(cons, x3), x4))), x1), APP(app(app(map_2, z0), g), app(app(cons, z2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, z0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, z0)), g), x1), app(app(cons, app(app(cons, z2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(cons, app(app(z0, z2), g)), app(app(app(map_2, z0), g), app(app(cons, x3), x4))), x1), APP(app(app(map_2, z0), g), app(app(cons, z2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, z0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (115) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(map_2, y0)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(map_2, y0))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(map_2, x0), z2), g)), app(app(app(map_2, app(map_2, x0)), g), z3)), x1), APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(map_2, x0), z2), g)), app(app(app(map_2, app(map_2, x0)), g), z3)), x1), APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(map_2, x0), z2), g)), app(app(app(map_2, app(map_2, x0)), g), z3)), x1), APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (119) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (121) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), app(app(cons, app(app(cons, y2), y3)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), z1), APP(app(app(map_2, app(app(map_3, y0), g)), g), app(app(cons, y2), y3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, y0), g))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(app(map_3, x0), g), z2), g)), app(app(app(map_2, app(app(map_3, x0), g)), g), z3)), x1), APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(app(map_3, x0), g), z2), g)), app(app(app(map_2, app(app(map_3, x0), g)), g), z3)), x1), APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, z2), z3)), x4)) -> c14(APP(app(app(cons, app(app(app(app(map_3, x0), g), z2), g)), app(app(app(map_2, app(app(map_3, x0), g)), g), z3)), x1), APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (123) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (125) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(map_1, y1)), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y1)), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), z3)), x3)) -> c14(APP(app(app(cons, app(app(map_1, app(map_1, x1)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), z3)), x3)) -> c14(APP(app(app(cons, app(app(map_1, app(map_1, x1)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), z3)), x3)) -> c14(APP(app(app(cons, app(app(map_1, app(map_1, x1)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (127) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (129) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, y1), y2)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, y1), y2)), z1), APP(app(app(map_2, map_1), g), app(app(cons, y1), y2)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, z2), z3)), x3)) -> c14(APP(app(app(cons, app(app(map_1, z2), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, z2), z3)), x3)) -> c14(APP(app(app(cons, app(app(map_1, z2), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, z2), z3)), x3)) -> c14(APP(app(app(cons, app(app(map_1, z2), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, z2), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (131) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (133) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(map_2, y1), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y1), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), z3)), x4)) -> c14(APP(app(app(cons, app(app(map_1, app(app(map_2, x1), x2)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), z3)), x4)) -> c14(APP(app(app(cons, app(app(map_1, app(app(map_2, x1), x2)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), z3)), x4)) -> c14(APP(app(app(cons, app(app(map_1, app(app(map_2, x1), x2)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (135) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (137) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, map_1)), g), z1), app(app(cons, app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z3)) -> c14(APP(app(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), z1), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y1), g), y2)), y3)), APP(app(app(app(map_3, app(map_2, map_1)), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), z3)), x4)) -> c14(APP(app(app(cons, app(app(map_1, app(app(app(map_3, x1), g), x2)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), z3)), x4)) -> c14(APP(app(app(cons, app(app(map_1, app(app(app(map_3, x1), g), x2)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), z3)), x4)) -> c14(APP(app(app(cons, app(app(map_1, app(app(app(map_3, x1), g), x2)), g)), app(app(app(map_2, map_1), g), z3)), x0), APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), z3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (139) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (141) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(map_2, y0), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, y0), y1))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(app(map_2, x0), x1), app(app(cons, x3), x4)), g)), app(app(app(map_2, app(app(map_2, x0), x1)), g), z3)), x2), APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(app(map_2, x0), x1), app(app(cons, x3), x4)), g)), app(app(app(map_2, app(app(map_2, x0), x1)), g), z3)), x2), APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(app(map_2, x0), x1), app(app(cons, x3), x4)), g)), app(app(app(map_2, app(app(map_2, x0), x1)), g), z3)), x2), APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (143) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (145) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), z1), APP(app(app(map_2, app(app(app(map_3, y0), g), y1)), g), app(app(cons, app(app(cons, y3), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y0), g), y1))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(app(app(map_3, x0), g), x1), app(app(cons, x3), x4)), g)), app(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), z3)), x2), APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(app(app(map_3, x0), g), x1), app(app(cons, x3), x4)), g)), app(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), z3)), x2), APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(app(app(map_3, x0), g), x1), app(app(cons, x3), x4)), g)), app(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), z3)), x2), APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (147) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (149) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), z1), APP(app(app(map_2, app(map_1, app(map_1, y0))), g), app(app(cons, app(app(cons, app(app(cons, y2), y3)), y4)), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y0)))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), g)), app(app(app(map_2, app(map_1, app(map_1, x0))), g), z3)), x1), APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), g)), app(app(app(map_2, app(map_1, app(map_1, x0))), g), z3)), x1), APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), g)), app(app(app(map_2, app(map_1, app(map_1, x0))), g), z3)), x1), APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (151) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (153) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), app(app(cons, app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), z1), APP(app(app(map_2, app(map_1, y0)), g), app(app(cons, app(app(cons, y2), app(app(cons, y3), y4))), y5)), APP(app(app(app(map_3, app(map_2, app(map_1, y0))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), g)), app(app(app(map_2, app(map_1, x0)), g), z3)), x1), APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), g)), app(app(app(map_2, app(map_1, x0)), g), z3)), x1), APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), z3)), x6)) -> c14(APP(app(app(cons, app(app(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), g)), app(app(app(map_2, app(map_1, x0)), g), z3)), x1), APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (155) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (157) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(map_2, y0), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y0), y1)))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), x7)) -> c14(APP(app(app(cons, app(app(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), g)), app(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), z3)), x2), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), x7)) -> c14(APP(app(app(cons, app(app(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), g)), app(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), z3)), x2), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), x7)) -> c14(APP(app(app(cons, app(app(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), g)), app(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), z3)), x2), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (159) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z3)) -> c14(APP(app(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), z1), APP(app(app(map_2, app(map_1, app(app(app(map_3, y0), g), y1))), g), app(app(cons, app(app(cons, app(app(cons, y3), y4)), y5)), y6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y0), g), y1)))), g), z1), z3)) by APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), x7)) -> c14(APP(app(app(cons, app(app(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), g)), app(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), z3)), x2), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), x7)) -> c14(APP(app(app(cons, app(app(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), g)), app(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), z3)), x2), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), x7)) -> c14(APP(app(app(cons, app(app(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), g)), app(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), z3)), x2), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), z3)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (163) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2 ---------------------------------------- (165) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ENCARG(cons_app(x0, map_1)) -> c5(ENCARG(x0)) by ENCARG(cons_app(cons_app(y0, map_1), map_1)) -> c5(ENCARG(cons_app(y0, map_1))) ENCARG(cons_app(cons_app(y0, cons), map_1)) -> c5(ENCARG(cons_app(y0, cons))) ENCARG(cons_app(cons_app(y0, map_2), map_1)) -> c5(ENCARG(cons_app(y0, map_2))) ENCARG(cons_app(cons_app(y0, map_3), map_1)) -> c5(ENCARG(cons_app(y0, map_3))) ENCARG(cons_app(cons_app(y0, g), map_1)) -> c5(ENCARG(cons_app(y0, g))) ENCARG(cons_app(cons_app(map_1, y0), map_1)) -> c5(ENCARG(cons_app(map_1, y0))) ENCARG(cons_app(cons_app(cons, y0), map_1)) -> c5(ENCARG(cons_app(cons, y0))) ENCARG(cons_app(cons_app(map_2, y0), map_1)) -> c5(ENCARG(cons_app(map_2, y0))) ENCARG(cons_app(cons_app(map_3, y0), map_1)) -> c5(ENCARG(cons_app(map_3, y0))) ENCARG(cons_app(cons_app(g, y0), map_1)) -> c5(ENCARG(cons_app(g, y0))) ENCARG(cons_app(cons_app(y0, cons_app(y1, map_1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, map_1)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, cons)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, cons)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, map_2)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, map_2)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, map_3)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, map_3)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, g)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, g)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, cons_app(y2, y3))), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, cons_app(y2, y3))))) ENCARG(cons_app(cons_app(y0, cons_app(cons_app(y1, y2), y3)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(cons_app(y1, y2), y3)))) ENCARG(cons_app(cons_app(cons_app(y0, y1), cons_app(y2, y3)), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), cons_app(y2, y3)))) ENCARG(cons_app(cons_app(y0, cons_app(map_1, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(map_1, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(cons, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(cons, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(map_2, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(map_2, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(map_3, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(map_3, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(g, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(g, y1)))) ENCARG(cons_app(cons_app(map_1, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(map_1, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(cons, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(cons, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(map_2, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(map_2, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(map_3, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(map_3, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(g, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(g, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(cons_app(y0, map_1), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, map_1), y1))) ENCARG(cons_app(cons_app(cons_app(y0, cons), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, cons), y1))) ENCARG(cons_app(cons_app(cons_app(y0, map_2), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, map_2), y1))) ENCARG(cons_app(cons_app(cons_app(y0, map_3), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, map_3), y1))) ENCARG(cons_app(cons_app(cons_app(y0, g), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, g), y1))) ENCARG(cons_app(cons_app(cons_app(y0, cons_app(y1, y2)), y3), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, cons_app(y1, y2)), y3))) ENCARG(cons_app(cons_app(cons_app(map_1, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(map_1, y0), y1))) ENCARG(cons_app(cons_app(cons_app(cons_app(y0, y1), y2), y3), map_1)) -> c5(ENCARG(cons_app(cons_app(cons_app(y0, y1), y2), y3))) ENCARG(cons_app(cons_app(cons_app(y0, y1), map_1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), map_1))) ENCARG(cons_app(cons_app(cons_app(y0, y1), cons), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), cons))) ENCARG(cons_app(cons_app(cons_app(y0, y1), map_2), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), map_2))) ENCARG(cons_app(cons_app(cons_app(y0, y1), map_3), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), map_3))) ENCARG(cons_app(cons_app(cons_app(y0, y1), g), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), g))) ENCARG(cons_app(cons_app(cons_app(cons, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(cons, y0), y1))) ENCARG(cons_app(cons_app(cons_app(map_2, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(map_2, y0), y1))) ENCARG(cons_app(cons_app(cons_app(map_3, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(map_3, y0), y1))) ENCARG(cons_app(cons_app(cons_app(g, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(g, y0), y1))) ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: encArg(map_1) -> map_1 encArg(cons) -> cons encArg(map_2) -> map_2 encArg(map_3) -> map_3 encArg(g) -> g encArg(cons_app(z0, z1)) -> app(encArg(z0), encArg(z1)) app(app(map_1, z0), app(app(cons, z1), z2)) -> app(app(cons, app(z0, z1)), app(app(map_1, z0), z2)) app(app(app(map_2, z0), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(z0, z2), z1)), app(app(app(map_2, z0), z1), z3)) app(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)) -> app(app(cons, app(app(app(z0, g), z2), z1)), app(app(app(app(map_3, z0), g), z1), z3)) Tuples: ENCARG(cons_app(x0, cons)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_2)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, map_3)) -> c5(ENCARG(x0)) ENCARG(cons_app(x0, g)) -> c5(ENCARG(x0)) ENCARG(cons_app(map_1, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(cons, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_2, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(map_3, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(g, x1)) -> c5(ENCARG(x1)) ENCARG(cons_app(x0, cons_app(x1, map_1))) -> c5(APP(encArg(x0), app(encArg(x1), map_1)), ENCARG(x0), ENCARG(cons_app(x1, map_1))) ENCARG(cons_app(x0, cons_app(x1, cons))) -> c5(APP(encArg(x0), app(encArg(x1), cons)), ENCARG(x0), ENCARG(cons_app(x1, cons))) ENCARG(cons_app(x0, cons_app(x1, map_2))) -> c5(APP(encArg(x0), app(encArg(x1), map_2)), ENCARG(x0), ENCARG(cons_app(x1, map_2))) ENCARG(cons_app(x0, cons_app(x1, map_3))) -> c5(APP(encArg(x0), app(encArg(x1), map_3)), ENCARG(x0), ENCARG(cons_app(x1, map_3))) ENCARG(cons_app(x0, cons_app(x1, g))) -> c5(APP(encArg(x0), app(encArg(x1), g)), ENCARG(x0), ENCARG(cons_app(x1, g))) ENCARG(cons_app(x0, cons_app(x1, cons_app(z0, z1)))) -> c5(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_app(x1, cons_app(z0, z1)))) ENCARG(cons_app(x0, cons_app(cons_app(z0, z1), x2))) -> c5(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_app(cons_app(z0, z1), x2))) ENCARG(cons_app(cons_app(z0, z1), cons_app(x1, x2))) -> c5(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2))), ENCARG(cons_app(z0, z1)), ENCARG(cons_app(x1, x2))) ENCARG(cons_app(x0, cons_app(map_1, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_1, x2))) ENCARG(cons_app(x0, cons_app(cons, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(cons, x2))) ENCARG(cons_app(x0, cons_app(map_2, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_2, x2))) ENCARG(cons_app(x0, cons_app(map_3, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(map_3, x2))) ENCARG(cons_app(x0, cons_app(g, x2))) -> c5(ENCARG(x0), ENCARG(cons_app(g, x2))) ENCARG(cons_app(map_1, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_2, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(map_3, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(g, cons_app(x1, x2))) -> c5(ENCARG(cons_app(x1, x2))) ENCARG(cons_app(cons_app(x0, map_1), x2)) -> c5(APP(app(encArg(x0), map_1), encArg(x2)), ENCARG(cons_app(x0, map_1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons), x2)) -> c5(APP(app(encArg(x0), cons), encArg(x2)), ENCARG(cons_app(x0, cons)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_2), x2)) -> c5(APP(app(encArg(x0), map_2), encArg(x2)), ENCARG(cons_app(x0, map_2)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, map_3), x2)) -> c5(APP(app(encArg(x0), map_3), encArg(x2)), ENCARG(cons_app(x0, map_3)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, g), x2)) -> c5(APP(app(encArg(x0), g), encArg(x2)), ENCARG(cons_app(x0, g)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, cons_app(z0, z1)), x2)) -> c5(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_app(x0, cons_app(z0, z1))), ENCARG(x2)) ENCARG(cons_app(cons_app(map_1, x1), x2)) -> c5(APP(app(map_1, encArg(x1)), encArg(x2)), ENCARG(cons_app(map_1, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(cons_app(z0, z1), x1), x2)) -> c5(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_app(cons_app(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(x0, x1), map_1)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), cons)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_2)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), map_3)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(x0, x1), g)) -> c5(ENCARG(cons_app(x0, x1))) ENCARG(cons_app(cons_app(cons, x1), x2)) -> c5(ENCARG(cons_app(cons, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_2, x1), x2)) -> c5(ENCARG(cons_app(map_2, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(map_3, x1), x2)) -> c5(ENCARG(cons_app(map_3, x1)), ENCARG(x2)) ENCARG(cons_app(cons_app(g, x1), x2)) -> c5(ENCARG(cons_app(g, x1)), ENCARG(x2)) ENCODE_APP(x0, cons_app(x1, map_1)) -> c(APP(encArg(x0), app(encArg(x1), map_1))) ENCODE_APP(x0, cons_app(x1, cons)) -> c(APP(encArg(x0), app(encArg(x1), cons))) ENCODE_APP(x0, cons_app(x1, map_2)) -> c(APP(encArg(x0), app(encArg(x1), map_2))) ENCODE_APP(x0, cons_app(x1, map_3)) -> c(APP(encArg(x0), app(encArg(x1), map_3))) ENCODE_APP(x0, cons_app(x1, g)) -> c(APP(encArg(x0), app(encArg(x1), g))) ENCODE_APP(x0, cons_app(x1, cons_app(z0, z1))) -> c(APP(encArg(x0), app(encArg(x1), app(encArg(z0), encArg(z1))))) ENCODE_APP(x0, cons_app(cons_app(z0, z1), x2)) -> c(APP(encArg(x0), app(app(encArg(z0), encArg(z1)), encArg(x2)))) ENCODE_APP(cons_app(z0, z1), cons_app(x1, x2)) -> c(APP(app(encArg(z0), encArg(z1)), app(encArg(x1), encArg(x2)))) ENCODE_APP(cons_app(x0, map_1), x2) -> c(APP(app(encArg(x0), map_1), encArg(x2))) ENCODE_APP(cons_app(x0, cons), x2) -> c(APP(app(encArg(x0), cons), encArg(x2))) ENCODE_APP(cons_app(x0, map_2), x2) -> c(APP(app(encArg(x0), map_2), encArg(x2))) ENCODE_APP(cons_app(x0, map_3), x2) -> c(APP(app(encArg(x0), map_3), encArg(x2))) ENCODE_APP(cons_app(x0, g), x2) -> c(APP(app(encArg(x0), g), encArg(x2))) ENCODE_APP(cons_app(x0, cons_app(z0, z1)), x2) -> c(APP(app(encArg(x0), app(encArg(z0), encArg(z1))), encArg(x2))) ENCODE_APP(cons_app(map_1, x1), x2) -> c(APP(app(map_1, encArg(x1)), encArg(x2))) ENCODE_APP(cons_app(cons_app(z0, z1), x1), x2) -> c(APP(app(app(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2))) APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) ENCARG(cons_app(cons_app(y0, map_1), map_1)) -> c5(ENCARG(cons_app(y0, map_1))) ENCARG(cons_app(cons_app(y0, cons), map_1)) -> c5(ENCARG(cons_app(y0, cons))) ENCARG(cons_app(cons_app(y0, map_2), map_1)) -> c5(ENCARG(cons_app(y0, map_2))) ENCARG(cons_app(cons_app(y0, map_3), map_1)) -> c5(ENCARG(cons_app(y0, map_3))) ENCARG(cons_app(cons_app(y0, g), map_1)) -> c5(ENCARG(cons_app(y0, g))) ENCARG(cons_app(cons_app(map_1, y0), map_1)) -> c5(ENCARG(cons_app(map_1, y0))) ENCARG(cons_app(cons_app(cons, y0), map_1)) -> c5(ENCARG(cons_app(cons, y0))) ENCARG(cons_app(cons_app(map_2, y0), map_1)) -> c5(ENCARG(cons_app(map_2, y0))) ENCARG(cons_app(cons_app(map_3, y0), map_1)) -> c5(ENCARG(cons_app(map_3, y0))) ENCARG(cons_app(cons_app(g, y0), map_1)) -> c5(ENCARG(cons_app(g, y0))) ENCARG(cons_app(cons_app(y0, cons_app(y1, map_1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, map_1)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, cons)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, cons)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, map_2)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, map_2)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, map_3)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, map_3)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, g)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, g)))) ENCARG(cons_app(cons_app(y0, cons_app(y1, cons_app(y2, y3))), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(y1, cons_app(y2, y3))))) ENCARG(cons_app(cons_app(y0, cons_app(cons_app(y1, y2), y3)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(cons_app(y1, y2), y3)))) ENCARG(cons_app(cons_app(cons_app(y0, y1), cons_app(y2, y3)), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), cons_app(y2, y3)))) ENCARG(cons_app(cons_app(y0, cons_app(map_1, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(map_1, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(cons, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(cons, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(map_2, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(map_2, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(map_3, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(map_3, y1)))) ENCARG(cons_app(cons_app(y0, cons_app(g, y1)), map_1)) -> c5(ENCARG(cons_app(y0, cons_app(g, y1)))) ENCARG(cons_app(cons_app(map_1, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(map_1, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(cons, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(cons, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(map_2, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(map_2, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(map_3, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(map_3, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(g, cons_app(y0, y1)), map_1)) -> c5(ENCARG(cons_app(g, cons_app(y0, y1)))) ENCARG(cons_app(cons_app(cons_app(y0, map_1), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, map_1), y1))) ENCARG(cons_app(cons_app(cons_app(y0, cons), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, cons), y1))) ENCARG(cons_app(cons_app(cons_app(y0, map_2), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, map_2), y1))) ENCARG(cons_app(cons_app(cons_app(y0, map_3), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, map_3), y1))) ENCARG(cons_app(cons_app(cons_app(y0, g), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, g), y1))) ENCARG(cons_app(cons_app(cons_app(y0, cons_app(y1, y2)), y3), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, cons_app(y1, y2)), y3))) ENCARG(cons_app(cons_app(cons_app(map_1, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(map_1, y0), y1))) ENCARG(cons_app(cons_app(cons_app(cons_app(y0, y1), y2), y3), map_1)) -> c5(ENCARG(cons_app(cons_app(cons_app(y0, y1), y2), y3))) ENCARG(cons_app(cons_app(cons_app(y0, y1), map_1), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), map_1))) ENCARG(cons_app(cons_app(cons_app(y0, y1), cons), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), cons))) ENCARG(cons_app(cons_app(cons_app(y0, y1), map_2), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), map_2))) ENCARG(cons_app(cons_app(cons_app(y0, y1), map_3), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), map_3))) ENCARG(cons_app(cons_app(cons_app(y0, y1), g), map_1)) -> c5(ENCARG(cons_app(cons_app(y0, y1), g))) ENCARG(cons_app(cons_app(cons_app(cons, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(cons, y0), y1))) ENCARG(cons_app(cons_app(cons_app(map_2, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(map_2, y0), y1))) ENCARG(cons_app(cons_app(cons_app(map_3, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(map_3, y0), y1))) ENCARG(cons_app(cons_app(cons_app(g, y0), y1), map_1)) -> c5(ENCARG(cons_app(cons_app(g, y0), y1))) S tuples: APP(app(map_1, app(map_1, y0)), app(app(cons, app(app(cons, y1), y2)), z2)) -> c12(APP(app(map_1, y0), app(app(cons, y1), y2)), APP(app(map_1, app(map_1, y0)), z2)) APP(app(map_1, z0), app(app(cons, z1), app(app(cons, y1), y2))) -> c12(APP(z0, z1), APP(app(map_1, z0), app(app(cons, y1), y2))) APP(app(map_1, app(app(map_2, y0), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(map_2, y0), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(map_2, y0), y1)), z2)) APP(app(map_1, app(app(app(map_3, y0), g), y1)), app(app(cons, app(app(cons, y2), y3)), z2)) -> c12(APP(app(app(app(map_3, y0), g), y1), app(app(cons, y2), y3)), APP(app(map_1, app(app(app(map_3, y0), g), y1)), z2)) APP(app(app(map_2, z0), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c13(APP(app(z0, z2), z1), APP(z0, z2), APP(app(app(map_2, z0), z1), app(app(cons, y2), y3))) APP(app(app(map_2, app(map_2, y0)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(map_2, y0), z2), z1), APP(app(app(map_2, app(map_2, y0)), z1), z3)) APP(app(app(map_2, app(app(map_3, y0), g)), z1), app(app(cons, z2), z3)) -> c13(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(map_2, app(app(map_3, y0), g)), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(map_1, y0)), z3)) -> c13(APP(app(map_1, app(map_1, y0)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, z2), z3)) -> c13(APP(app(map_1, z2), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(map_2, y0), y1)), z3)) -> c13(APP(app(map_1, app(app(map_2, y0), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, map_1), z1), app(app(cons, app(app(app(map_3, y0), g), y1)), z3)) -> c13(APP(app(map_1, app(app(app(map_3, y0), g), y1)), z1), APP(app(app(map_2, map_1), z1), z3)) APP(app(app(map_2, app(app(map_2, x0), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(map_2, x0), x1)), x2), x5)) APP(app(app(map_2, app(app(map_2, z0), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(map_2, z0), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(map_2, z0), z1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), app(app(cons, app(app(cons, x3), x4)), x5)) -> c13(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), x2), x5)) APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), app(app(cons, app(app(cons, z2), z3)), x5)) -> c13(APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), z3)), APP(app(app(map_2, app(app(app(map_3, z0), g), z1)), x2), x5)) APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)) -> c13(APP(app(map_1, app(map_1, x0)), app(app(cons, app(app(cons, x2), x3)), x4)), APP(app(app(map_2, app(map_1, app(map_1, x0))), x1), x5)) APP(app(app(map_2, app(map_1, x0)), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c13(APP(app(map_1, x0), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(map_2, app(map_1, x0)), x1), x5)) APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(map_2, x0), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), x2), x6)) APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c13(APP(app(map_1, app(app(app(map_3, x0), g), x1)), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), x2), x6)) APP(app(app(app(map_3, z0), g), z1), app(app(cons, z2), app(app(cons, y2), y3))) -> c14(APP(app(app(z0, g), z2), z1), APP(app(z0, g), z2), APP(app(app(app(map_3, z0), g), z1), app(app(cons, y2), y3))) APP(app(app(app(map_3, app(map_3, y0)), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(app(map_3, y0), g), z2), z1), APP(app(app(app(map_3, app(map_3, y0)), g), z1), z3)) APP(app(app(app(map_3, map_2), g), z1), app(app(cons, z2), z3)) -> c14(APP(app(app(map_2, g), z2), z1), APP(app(app(app(map_3, map_2), g), z1), z3)) APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(app(map_3, x0), g), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(app(map_3, x0), g)), g), x1), x4)) APP(app(app(app(map_3, map_1), g), x0), app(app(cons, app(app(cons, x1), app(app(cons, x2), x3))), x4)) -> c14(APP(app(map_1, g), app(app(cons, x1), app(app(cons, x2), x3))), APP(app(app(app(map_3, map_1), g), x0), x4)) APP(app(app(app(map_3, app(map_2, x0)), g), x1), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)) -> c14(APP(app(app(map_2, x0), g), app(app(cons, x2), app(app(cons, x3), x4))), APP(app(app(app(map_3, app(map_2, x0)), g), x1), x5)) APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(map_2, x0)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(map_2, x0))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), app(app(cons, app(app(cons, x2), x3)), x4)) -> c14(APP(app(app(map_2, app(app(map_3, x0), g)), g), app(app(cons, x2), x3)), APP(app(app(app(map_3, app(map_2, app(app(map_3, x0), g))), g), x1), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(map_1, x1)), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, x1)), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, x1), x2)), x3)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, x1), x2)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x3)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(map_2, x1), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, x1), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, map_1)), g), x0), app(app(cons, app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), x4)) -> c14(APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, x1), g), x2)), x3)), APP(app(app(app(map_3, app(map_2, map_1)), g), x0), x4)) APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(map_2, x0), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(map_2, x0), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(app(app(map_3, x0), g), x1)), g), app(app(cons, app(app(cons, x3), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(app(app(map_3, x0), g), x1))), g), x2), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, app(map_1, x0))), g), app(app(cons, app(app(cons, app(app(cons, x2), x3)), x4)), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, x0)))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), app(app(cons, app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), x6)) -> c14(APP(app(app(map_2, app(map_1, x0)), g), app(app(cons, app(app(cons, x2), app(app(cons, x3), x4))), x5)), APP(app(app(app(map_3, app(map_2, app(map_1, x0))), g), x1), x6)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(map_2, x0), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, x0), x1)))), g), x2), x7)) APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), x7)) -> c14(APP(app(app(map_2, app(map_1, app(app(app(map_3, x0), g), x1))), g), app(app(cons, app(app(cons, app(app(cons, x3), x4)), x5)), x6)), APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, x0), g), x1)))), g), x2), x7)) K tuples:none Defined Rule Symbols: encArg_1, app_2 Defined Pair Symbols: ENCARG_1, ENCODE_APP_2, APP_2 Compound Symbols: c5_1, c5_3, c5_2, c_1, c12_2, c13_3, c13_2, c13_1, c14_3, c14_2