KILLED proof of input_iuqWO0VHxx.trs # AProVE Commit ID: 5b976082cb74a395683ed8cc7acf94bd611ab29f fuhs 20230524 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (4) CpxTRS (5) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxRelTRS (11) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (12) typed CpxTrs (13) OrderProof [LOWER BOUND(ID), 0 ms] (14) typed CpxTrs (15) RewriteLemmaProof [LOWER BOUND(ID), 385 ms] (16) BEST (17) proven lower bound (18) LowerBoundPropagationProof [FINISHED, 0 ms] (19) BOUNDS(n^1, INF) (20) typed CpxTrs (21) RewriteLemmaProof [LOWER BOUND(ID), 75 ms] (22) typed CpxTrs (23) RewriteLemmaProof [LOWER BOUND(ID), 2246 ms] (24) typed CpxTrs (25) RewriteLemmaProof [LOWER BOUND(ID), 59 ms] (26) typed CpxTrs (27) RewriteLemmaProof [FINISHED, 327 ms] (28) BOUNDS(EXP, INF) (29) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (30) CdtProblem (31) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CdtProblem (35) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CpxRelTRS (37) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (38) CpxTRS (39) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CpxWeightedTrs (41) CpxWeightedTrsRenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CpxWeightedTrs (43) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CpxTypedWeightedTrs (45) CompletionProof [UPPER BOUND(ID), 0 ms] (46) CpxTypedWeightedCompleteTrs (47) NarrowingProof [BOTH BOUNDS(ID, ID), 25 ms] (48) CpxTypedWeightedCompleteTrs (49) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (50) CpxRNTS (51) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CpxRNTS (53) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CpxRNTS (55) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 191 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 73 ms] (60) CpxRNTS (61) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (62) CpxRNTS (63) IntTrsBoundProof [UPPER BOUND(ID), 330 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 74 ms] (66) CpxRNTS (67) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (68) CpxRNTS (69) IntTrsBoundProof [UPPER BOUND(ID), 128 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 72 ms] (72) CpxRNTS (73) ResultPropagationProof [UPPER BOUND(ID), 1 ms] (74) CpxRNTS (75) IntTrsBoundProof [UPPER BOUND(ID), 159 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 94 ms] (78) CpxRNTS (79) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (80) CpxRNTS (81) IntTrsBoundProof [UPPER BOUND(ID), 532 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 73 ms] (84) CpxRNTS (85) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (86) CpxRNTS (87) IntTrsBoundProof [UPPER BOUND(ID), 391 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 96 ms] (90) CpxRNTS (91) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (92) CpxRNTS (93) IntTrsBoundProof [UPPER BOUND(ID), 319 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 22 ms] (96) CpxRNTS (97) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (98) CpxRNTS (99) IntTrsBoundProof [UPPER BOUND(ID), 139 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 104 ms] (102) CpxRNTS (103) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (104) CpxRNTS (105) IntTrsBoundProof [UPPER BOUND(ID), 493 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 95 ms] (108) CpxRNTS (109) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (110) CpxRNTS (111) IntTrsBoundProof [UPPER BOUND(ID), 383 ms] (112) CpxRNTS (113) IntTrsBoundProof [UPPER BOUND(ID), 238 ms] (114) CpxRNTS (115) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (116) CpxRNTS (117) IntTrsBoundProof [UPPER BOUND(ID), 2804 ms] (118) CpxRNTS (119) IntTrsBoundProof [UPPER BOUND(ID), 924 ms] (120) CpxRNTS (121) CompletionProof [UPPER BOUND(ID), 0 ms] (122) CpxTypedWeightedCompleteTrs (123) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (124) CpxRNTS (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 156 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (160) CdtProblem (161) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CdtProblem (163) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (164) CdtProblem (165) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (166) CdtProblem (167) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (168) CdtProblem (169) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CdtProblem (171) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (172) CdtProblem (173) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (174) CdtProblem (175) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (176) CdtProblem (177) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (178) CdtProblem (179) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (180) CdtProblem (181) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (182) CdtProblem (183) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (184) CdtProblem (185) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (186) CdtProblem (187) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (188) CdtProblem (189) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (190) CdtProblem (191) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (192) CdtProblem (193) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (194) CdtProblem (195) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (196) CdtProblem (197) CdtRewritingProof [BOTH BOUNDS(ID, ID), 4 ms] (198) CdtProblem (199) CdtRewritingProof [BOTH BOUNDS(ID, ID), 1 ms] (200) CdtProblem (201) CdtRewritingProof [BOTH BOUNDS(ID, ID), 5 ms] (202) CdtProblem (203) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (204) CdtProblem (205) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (206) CdtProblem (207) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (208) CdtProblem (209) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (210) CdtProblem (211) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (212) CdtProblem (213) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (214) CdtProblem (215) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (216) CdtProblem (217) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (218) CpxWeightedTrs (219) CpxWeightedTrsRenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (220) CpxWeightedTrs (221) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (222) CpxTypedWeightedTrs (223) CompletionProof [UPPER BOUND(ID), 0 ms] (224) CpxTypedWeightedCompleteTrs (225) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (226) CpxTypedWeightedCompleteTrs (227) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (228) CpxRNTS (229) SimplificationProof [BOTH BOUNDS(ID, ID), 6 ms] (230) CpxRNTS (231) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (232) CpxRNTS (233) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (234) CpxRNTS (235) IntTrsBoundProof [UPPER BOUND(ID), 360 ms] (236) CpxRNTS (237) IntTrsBoundProof [UPPER BOUND(ID), 99 ms] (238) CpxRNTS (239) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (240) CpxRNTS (241) IntTrsBoundProof [UPPER BOUND(ID), 133 ms] (242) CpxRNTS (243) IntTrsBoundProof [UPPER BOUND(ID), 126 ms] (244) CpxRNTS (245) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (246) CpxRNTS (247) IntTrsBoundProof [UPPER BOUND(ID), 274 ms] (248) CpxRNTS (249) IntTrsBoundProof [UPPER BOUND(ID), 137 ms] (250) CpxRNTS (251) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (252) CpxRNTS (253) IntTrsBoundProof [UPPER BOUND(ID), 189 ms] (254) CpxRNTS (255) IntTrsBoundProof [UPPER BOUND(ID), 55 ms] (256) CpxRNTS (257) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (258) CpxRNTS (259) IntTrsBoundProof [UPPER BOUND(ID), 167 ms] (260) CpxRNTS (261) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (262) CpxRNTS (263) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (264) CpxRNTS (265) IntTrsBoundProof [UPPER BOUND(ID), 493 ms] (266) CpxRNTS (267) IntTrsBoundProof [UPPER BOUND(ID), 145 ms] (268) CpxRNTS (269) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (270) CpxRNTS (271) IntTrsBoundProof [UPPER BOUND(ID), 5745 ms] (272) CpxRNTS (273) IntTrsBoundProof [UPPER BOUND(ID), 2684 ms] (274) CpxRNTS (275) CompletionProof [UPPER BOUND(ID), 0 ms] (276) CpxTypedWeightedCompleteTrs (277) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (278) CpxRNTS ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: min(0, y) -> 0 min(x, 0) -> 0 min(s(x), s(y)) -> s(min(x, y)) max(0, y) -> y max(x, 0) -> x max(s(x), s(y)) -> s(max(x, y)) +(0, y) -> y +(s(x), y) -> s(+(x, y)) -(x, 0) -> x -(s(x), s(y)) -> -(x, y) *(x, 0) -> 0 *(x, s(y)) -> +(x, *(x, y)) p(s(x)) -> x f(s(x), s(y)) -> f(-(min(s(x), s(y)), max(s(x), s(y))), *(s(x), s(y))) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: min(0', y) -> 0' min(x, 0') -> 0' min(s(x), s(y)) -> s(min(x, y)) max(0', y) -> y max(x, 0') -> x max(s(x), s(y)) -> s(max(x, y)) +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) -(x, 0') -> x -(s(x), s(y)) -> -(x, y) *'(x, 0') -> 0' *'(x, s(y)) -> +'(x, *'(x, y)) p(s(x)) -> x f(s(x), s(y)) -> f(-(min(s(x), s(y)), max(s(x), s(y))), *'(s(x), s(y))) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: min(0, y) -> 0 min(x, 0) -> 0 min(s(x), s(y)) -> s(min(x, y)) max(0, y) -> y max(x, 0) -> x max(s(x), s(y)) -> s(max(x, y)) +(0, y) -> y +(s(x), y) -> s(+(x, y)) -(x, 0) -> x -(s(x), s(y)) -> -(x, y) *(x, 0) -> 0 *(x, s(y)) -> +(x, *(x, y)) p(s(x)) -> x f(s(x), s(y)) -> f(-(min(s(x), s(y)), max(s(x), s(y))), *(s(x), s(y))) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (5) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (6) Obligation: Complexity Dependency Tuples Problem Rules: min(0, z0) -> 0 min(z0, 0) -> 0 min(s(z0), s(z1)) -> s(min(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))) Tuples: MIN(0, z0) -> c MIN(z0, 0) -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0, z0) -> c3 MAX(z0, 0) -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0, z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0) -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0) -> c10 *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) S tuples: MIN(0, z0) -> c MIN(z0, 0) -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0, z0) -> c3 MAX(z0, 0) -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0, z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0) -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0) -> c10 *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) K tuples:none Defined Rule Symbols: min_2, max_2, +_2, -_2, *_2, p_1, f_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, P_1, F_2 Compound Symbols: c, c1, c2_1, c3, c4, c5_1, c6, c7_1, c8, c9_1, c10, c11_2, c12, c13_3, c14_3, c15_2 ---------------------------------------- (7) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(EXP, INF). The TRS R consists of the following rules: MIN(0, z0) -> c MIN(z0, 0) -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0, z0) -> c3 MAX(z0, 0) -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0, z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0) -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0) -> c10 *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) The (relative) TRS S consists of the following rules: min(0, z0) -> 0 min(z0, 0) -> 0 min(s(z0), s(z1)) -> s(min(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))) Rewrite Strategy: INNERMOST ---------------------------------------- (9) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (10) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(EXP, INF). The TRS R consists of the following rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) The (relative) TRS S consists of the following rules: min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Rewrite Strategy: INNERMOST ---------------------------------------- (11) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (12) Obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 ---------------------------------------- (13) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: MIN, MAX, +', -', *', F, -, min, max, f They will be analysed ascendingly in the following order: MIN < F MAX < F +' < *' -' < F *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (14) Obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 Generator Equations: gen_c:c1:c28_16(0) <=> c gen_c:c1:c28_16(+(x, 1)) <=> c2(gen_c:c1:c28_16(x)) gen_0':s:c6:c7:c10:c119_16(0) <=> 0' gen_0':s:c6:c7:c10:c119_16(+(x, 1)) <=> s(gen_0':s:c6:c7:c10:c119_16(x)) gen_c3:c4:c510_16(0) <=> c3 gen_c3:c4:c510_16(+(x, 1)) <=> c5(gen_c3:c4:c510_16(x)) gen_c8:c911_16(0) <=> c8 gen_c8:c911_16(+(x, 1)) <=> c9(gen_c8:c911_16(x)) gen_c13:c14:c1512_16(0) <=> hole_c13:c14:c156_16 gen_c13:c14:c1512_16(+(x, 1)) <=> c13(gen_c13:c14:c1512_16(x), c8, c) The following defined symbols remain to be analysed: MIN, MAX, +', -', *', F, -, min, max, f They will be analysed ascendingly in the following order: MIN < F MAX < F +' < *' -' < F *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (15) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: MIN(gen_0':s:c6:c7:c10:c119_16(n14_16), gen_0':s:c6:c7:c10:c119_16(n14_16)) -> gen_c:c1:c28_16(n14_16), rt in Omega(1 + n14_16) Induction Base: MIN(gen_0':s:c6:c7:c10:c119_16(0), gen_0':s:c6:c7:c10:c119_16(0)) ->_R^Omega(1) c Induction Step: MIN(gen_0':s:c6:c7:c10:c119_16(+(n14_16, 1)), gen_0':s:c6:c7:c10:c119_16(+(n14_16, 1))) ->_R^Omega(1) c2(MIN(gen_0':s:c6:c7:c10:c119_16(n14_16), gen_0':s:c6:c7:c10:c119_16(n14_16))) ->_IH c2(gen_c:c1:c28_16(c15_16)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (16) Complex Obligation (BEST) ---------------------------------------- (17) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 Generator Equations: gen_c:c1:c28_16(0) <=> c gen_c:c1:c28_16(+(x, 1)) <=> c2(gen_c:c1:c28_16(x)) gen_0':s:c6:c7:c10:c119_16(0) <=> 0' gen_0':s:c6:c7:c10:c119_16(+(x, 1)) <=> s(gen_0':s:c6:c7:c10:c119_16(x)) gen_c3:c4:c510_16(0) <=> c3 gen_c3:c4:c510_16(+(x, 1)) <=> c5(gen_c3:c4:c510_16(x)) gen_c8:c911_16(0) <=> c8 gen_c8:c911_16(+(x, 1)) <=> c9(gen_c8:c911_16(x)) gen_c13:c14:c1512_16(0) <=> hole_c13:c14:c156_16 gen_c13:c14:c1512_16(+(x, 1)) <=> c13(gen_c13:c14:c1512_16(x), c8, c) The following defined symbols remain to be analysed: MIN, MAX, +', -', *', F, -, min, max, f They will be analysed ascendingly in the following order: MIN < F MAX < F +' < *' -' < F *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (18) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (19) BOUNDS(n^1, INF) ---------------------------------------- (20) Obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 Lemmas: MIN(gen_0':s:c6:c7:c10:c119_16(n14_16), gen_0':s:c6:c7:c10:c119_16(n14_16)) -> gen_c:c1:c28_16(n14_16), rt in Omega(1 + n14_16) Generator Equations: gen_c:c1:c28_16(0) <=> c gen_c:c1:c28_16(+(x, 1)) <=> c2(gen_c:c1:c28_16(x)) gen_0':s:c6:c7:c10:c119_16(0) <=> 0' gen_0':s:c6:c7:c10:c119_16(+(x, 1)) <=> s(gen_0':s:c6:c7:c10:c119_16(x)) gen_c3:c4:c510_16(0) <=> c3 gen_c3:c4:c510_16(+(x, 1)) <=> c5(gen_c3:c4:c510_16(x)) gen_c8:c911_16(0) <=> c8 gen_c8:c911_16(+(x, 1)) <=> c9(gen_c8:c911_16(x)) gen_c13:c14:c1512_16(0) <=> hole_c13:c14:c156_16 gen_c13:c14:c1512_16(+(x, 1)) <=> c13(gen_c13:c14:c1512_16(x), c8, c) The following defined symbols remain to be analysed: MAX, +', -', *', F, -, min, max, f They will be analysed ascendingly in the following order: MAX < F +' < *' -' < F *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (21) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: MAX(gen_0':s:c6:c7:c10:c119_16(n588_16), gen_0':s:c6:c7:c10:c119_16(n588_16)) -> gen_c3:c4:c510_16(n588_16), rt in Omega(1 + n588_16) Induction Base: MAX(gen_0':s:c6:c7:c10:c119_16(0), gen_0':s:c6:c7:c10:c119_16(0)) ->_R^Omega(1) c3 Induction Step: MAX(gen_0':s:c6:c7:c10:c119_16(+(n588_16, 1)), gen_0':s:c6:c7:c10:c119_16(+(n588_16, 1))) ->_R^Omega(1) c5(MAX(gen_0':s:c6:c7:c10:c119_16(n588_16), gen_0':s:c6:c7:c10:c119_16(n588_16))) ->_IH c5(gen_c3:c4:c510_16(c589_16)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (22) Obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 Lemmas: MIN(gen_0':s:c6:c7:c10:c119_16(n14_16), gen_0':s:c6:c7:c10:c119_16(n14_16)) -> gen_c:c1:c28_16(n14_16), rt in Omega(1 + n14_16) MAX(gen_0':s:c6:c7:c10:c119_16(n588_16), gen_0':s:c6:c7:c10:c119_16(n588_16)) -> gen_c3:c4:c510_16(n588_16), rt in Omega(1 + n588_16) Generator Equations: gen_c:c1:c28_16(0) <=> c gen_c:c1:c28_16(+(x, 1)) <=> c2(gen_c:c1:c28_16(x)) gen_0':s:c6:c7:c10:c119_16(0) <=> 0' gen_0':s:c6:c7:c10:c119_16(+(x, 1)) <=> s(gen_0':s:c6:c7:c10:c119_16(x)) gen_c3:c4:c510_16(0) <=> c3 gen_c3:c4:c510_16(+(x, 1)) <=> c5(gen_c3:c4:c510_16(x)) gen_c8:c911_16(0) <=> c8 gen_c8:c911_16(+(x, 1)) <=> c9(gen_c8:c911_16(x)) gen_c13:c14:c1512_16(0) <=> hole_c13:c14:c156_16 gen_c13:c14:c1512_16(+(x, 1)) <=> c13(gen_c13:c14:c1512_16(x), c8, c) The following defined symbols remain to be analysed: +', -', *', F, -, min, max, f They will be analysed ascendingly in the following order: +' < *' -' < F *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (23) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: +'(gen_0':s:c6:c7:c10:c119_16(+(1, n1237_16)), gen_0':s:c6:c7:c10:c119_16(b)) -> *13_16, rt in Omega(n1237_16) Induction Base: +'(gen_0':s:c6:c7:c10:c119_16(+(1, 0)), gen_0':s:c6:c7:c10:c119_16(b)) Induction Step: +'(gen_0':s:c6:c7:c10:c119_16(+(1, +(n1237_16, 1))), gen_0':s:c6:c7:c10:c119_16(b)) ->_R^Omega(1) c7(+'(gen_0':s:c6:c7:c10:c119_16(+(1, n1237_16)), gen_0':s:c6:c7:c10:c119_16(b))) ->_IH c7(*13_16) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (24) Obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 Lemmas: MIN(gen_0':s:c6:c7:c10:c119_16(n14_16), gen_0':s:c6:c7:c10:c119_16(n14_16)) -> gen_c:c1:c28_16(n14_16), rt in Omega(1 + n14_16) MAX(gen_0':s:c6:c7:c10:c119_16(n588_16), gen_0':s:c6:c7:c10:c119_16(n588_16)) -> gen_c3:c4:c510_16(n588_16), rt in Omega(1 + n588_16) +'(gen_0':s:c6:c7:c10:c119_16(+(1, n1237_16)), gen_0':s:c6:c7:c10:c119_16(b)) -> *13_16, rt in Omega(n1237_16) Generator Equations: gen_c:c1:c28_16(0) <=> c gen_c:c1:c28_16(+(x, 1)) <=> c2(gen_c:c1:c28_16(x)) gen_0':s:c6:c7:c10:c119_16(0) <=> 0' gen_0':s:c6:c7:c10:c119_16(+(x, 1)) <=> s(gen_0':s:c6:c7:c10:c119_16(x)) gen_c3:c4:c510_16(0) <=> c3 gen_c3:c4:c510_16(+(x, 1)) <=> c5(gen_c3:c4:c510_16(x)) gen_c8:c911_16(0) <=> c8 gen_c8:c911_16(+(x, 1)) <=> c9(gen_c8:c911_16(x)) gen_c13:c14:c1512_16(0) <=> hole_c13:c14:c156_16 gen_c13:c14:c1512_16(+(x, 1)) <=> c13(gen_c13:c14:c1512_16(x), c8, c) The following defined symbols remain to be analysed: -', *', F, -, min, max, f They will be analysed ascendingly in the following order: -' < F *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (25) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: -'(gen_0':s:c6:c7:c10:c119_16(n3887_16), gen_0':s:c6:c7:c10:c119_16(n3887_16)) -> gen_c8:c911_16(n3887_16), rt in Omega(1 + n3887_16) Induction Base: -'(gen_0':s:c6:c7:c10:c119_16(0), gen_0':s:c6:c7:c10:c119_16(0)) ->_R^Omega(1) c8 Induction Step: -'(gen_0':s:c6:c7:c10:c119_16(+(n3887_16, 1)), gen_0':s:c6:c7:c10:c119_16(+(n3887_16, 1))) ->_R^Omega(1) c9(-'(gen_0':s:c6:c7:c10:c119_16(n3887_16), gen_0':s:c6:c7:c10:c119_16(n3887_16))) ->_IH c9(gen_c8:c911_16(c3888_16)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (26) Obligation: Innermost TRS: Rules: MIN(0', z0) -> c MIN(z0, 0') -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0', z0) -> c3 MAX(z0, 0') -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0', z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0') -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0') -> c10 *'(z0, s(z1)) -> c11(+'(z0, *'(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))), *'(s(z0), s(z1))) min(0', z0) -> 0' min(z0, 0') -> 0' min(s(z0), s(z1)) -> s(min(z0, z1)) max(0', z0) -> z0 max(z0, 0') -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *'(s(z0), s(z1))) Types: MIN :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c:c1:c2 0' :: 0':s:c6:c7:c10:c11 c :: c:c1:c2 c1 :: c:c1:c2 s :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c2 :: c:c1:c2 -> c:c1:c2 MAX :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 +' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c6 :: 0':s:c6:c7:c10:c11 c7 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c8:c9 c8 :: c8:c9 c9 :: c8:c9 -> c8:c9 *' :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c10 :: 0':s:c6:c7:c10:c11 c11 :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 P :: 0':s:c6:c7:c10:c11 -> c12 c12 :: c12 F :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 c13 :: c13:c14:c15 -> c8:c9 -> c:c1:c2 -> c13:c14:c15 - :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 min :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 max :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 c14 :: c13:c14:c15 -> c8:c9 -> c3:c4:c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> 0':s:c6:c7:c10:c11 -> c13:c14:c15 p :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 f :: 0':s:c6:c7:c10:c11 -> 0':s:c6:c7:c10:c11 -> f hole_c:c1:c21_16 :: c:c1:c2 hole_0':s:c6:c7:c10:c112_16 :: 0':s:c6:c7:c10:c11 hole_c3:c4:c53_16 :: c3:c4:c5 hole_c8:c94_16 :: c8:c9 hole_c125_16 :: c12 hole_c13:c14:c156_16 :: c13:c14:c15 hole_f7_16 :: f gen_c:c1:c28_16 :: Nat -> c:c1:c2 gen_0':s:c6:c7:c10:c119_16 :: Nat -> 0':s:c6:c7:c10:c11 gen_c3:c4:c510_16 :: Nat -> c3:c4:c5 gen_c8:c911_16 :: Nat -> c8:c9 gen_c13:c14:c1512_16 :: Nat -> c13:c14:c15 Lemmas: MIN(gen_0':s:c6:c7:c10:c119_16(n14_16), gen_0':s:c6:c7:c10:c119_16(n14_16)) -> gen_c:c1:c28_16(n14_16), rt in Omega(1 + n14_16) MAX(gen_0':s:c6:c7:c10:c119_16(n588_16), gen_0':s:c6:c7:c10:c119_16(n588_16)) -> gen_c3:c4:c510_16(n588_16), rt in Omega(1 + n588_16) +'(gen_0':s:c6:c7:c10:c119_16(+(1, n1237_16)), gen_0':s:c6:c7:c10:c119_16(b)) -> *13_16, rt in Omega(n1237_16) -'(gen_0':s:c6:c7:c10:c119_16(n3887_16), gen_0':s:c6:c7:c10:c119_16(n3887_16)) -> gen_c8:c911_16(n3887_16), rt in Omega(1 + n3887_16) Generator Equations: gen_c:c1:c28_16(0) <=> c gen_c:c1:c28_16(+(x, 1)) <=> c2(gen_c:c1:c28_16(x)) gen_0':s:c6:c7:c10:c119_16(0) <=> 0' gen_0':s:c6:c7:c10:c119_16(+(x, 1)) <=> s(gen_0':s:c6:c7:c10:c119_16(x)) gen_c3:c4:c510_16(0) <=> c3 gen_c3:c4:c510_16(+(x, 1)) <=> c5(gen_c3:c4:c510_16(x)) gen_c8:c911_16(0) <=> c8 gen_c8:c911_16(+(x, 1)) <=> c9(gen_c8:c911_16(x)) gen_c13:c14:c1512_16(0) <=> hole_c13:c14:c156_16 gen_c13:c14:c1512_16(+(x, 1)) <=> c13(gen_c13:c14:c1512_16(x), c8, c) The following defined symbols remain to be analysed: *', F, -, min, max, f They will be analysed ascendingly in the following order: *' < F *' < f - < F min < F max < F - < f min < f max < f ---------------------------------------- (27) RewriteLemmaProof (FINISHED) Proved the following rewrite lemma: *'(gen_0':s:c6:c7:c10:c119_16(a), gen_0':s:c6:c7:c10:c119_16(+(1, n4679_16))) -> *13_16, rt in Omega(EXP) Induction Base: *'(gen_0':s:c6:c7:c10:c119_16(a), gen_0':s:c6:c7:c10:c119_16(+(1, 0))) Induction Step: *'(gen_0':s:c6:c7:c10:c119_16(a), gen_0':s:c6:c7:c10:c119_16(+(1, +(n4679_16, 1)))) ->_R^Omega(1) c11(+'(gen_0':s:c6:c7:c10:c119_16(a), *'(gen_0':s:c6:c7:c10:c119_16(a), gen_0':s:c6:c7:c10:c119_16(+(1, n4679_16)))), *'(gen_0':s:c6:c7:c10:c119_16(a), gen_0':s:c6:c7:c10:c119_16(+(1, n4679_16)))) ->_IH c11(+'(gen_0':s:c6:c7:c10:c119_16(a), *13_16), *'(gen_0':s:c6:c7:c10:c119_16(a), gen_0':s:c6:c7:c10:c119_16(+(1, n4679_16)))) ->_IH c11(+'(gen_0':s:c6:c7:c10:c119_16(a), *13_16), *13_16) We have rt in EXP and sz in O(n). Thus, we have irc_R in EXP ---------------------------------------- (28) BOUNDS(EXP, INF) ---------------------------------------- (29) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (30) Obligation: Complexity Dependency Tuples Problem Rules: min(0, z0) -> 0 min(z0, 0) -> 0 min(s(z0), s(z1)) -> s(min(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))) Tuples: MIN(0, z0) -> c MIN(z0, 0) -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0, z0) -> c3 MAX(z0, 0) -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0, z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0) -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0) -> c10 *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) S tuples: MIN(0, z0) -> c MIN(z0, 0) -> c1 MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(0, z0) -> c3 MAX(z0, 0) -> c4 MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(0, z0) -> c6 +'(s(z0), z1) -> c7(+'(z0, z1)) -'(z0, 0) -> c8 -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, 0) -> c10 *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) P(s(z0)) -> c12 F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) K tuples:none Defined Rule Symbols: min_2, max_2, +_2, -_2, *_2, p_1, f_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, P_1, F_2 Compound Symbols: c, c1, c2_1, c3, c4, c5_1, c6, c7_1, c8, c9_1, c10, c11_2, c12, c13_3, c14_3, c15_2 ---------------------------------------- (31) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing nodes: +'(0, z0) -> c6 MAX(z0, 0) -> c4 MAX(0, z0) -> c3 MIN(0, z0) -> c -'(z0, 0) -> c8 MIN(z0, 0) -> c1 P(s(z0)) -> c12 *'(z0, 0) -> c10 ---------------------------------------- (32) Obligation: Complexity Dependency Tuples Problem Rules: min(0, z0) -> 0 min(z0, 0) -> 0 min(s(z0), s(z1)) -> s(min(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 max(s(z0), s(z1)) -> s(max(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))) Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) K tuples:none Defined Rule Symbols: min_2, max_2, +_2, -_2, *_2, p_1, f_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2 ---------------------------------------- (33) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: p(s(z0)) -> z0 f(s(z0), s(z1)) -> f(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))) ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2 ---------------------------------------- (35) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (36) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) The (relative) TRS S consists of the following rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Rewrite Strategy: INNERMOST ---------------------------------------- (37) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (38) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (39) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (40) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) [1] MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) [1] +'(s(z0), z1) -> c7(+'(z0, z1)) [1] -'(s(z0), s(z1)) -> c9(-'(z0, z1)) [1] *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) [1] F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) [1] *(z0, 0) -> 0 [0] *(z0, s(z1)) -> +(z0, *(z0, z1)) [0] +(0, z0) -> z0 [0] +(s(z0), z1) -> s(+(z0, z1)) [0] -(z0, 0) -> z0 [0] -(s(z0), s(z1)) -> -(z0, z1) [0] min(s(z0), s(z1)) -> s(min(z0, z1)) [0] min(0, z0) -> 0 [0] min(z0, 0) -> 0 [0] max(s(z0), s(z1)) -> s(max(z0, z1)) [0] max(0, z0) -> z0 [0] max(z0, 0) -> z0 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (41) CpxWeightedTrsRenamingProof (BOTH BOUNDS(ID, ID)) Renamed defined symbols to avoid conflicts with arithmetic symbols: * => times - => minus + => plus ---------------------------------------- (42) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) [1] MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) [1] +'(s(z0), z1) -> c7(+'(z0, z1)) [1] -'(s(z0), s(z1)) -> c9(-'(z0, z1)) [1] *'(z0, s(z1)) -> c11(+'(z0, times(z0, z1)), *'(z0, z1)) [1] F(s(z0), s(z1)) -> c13(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c14(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), *'(s(z0), s(z1))) [1] times(z0, 0) -> 0 [0] times(z0, s(z1)) -> plus(z0, times(z0, z1)) [0] plus(0, z0) -> z0 [0] plus(s(z0), z1) -> s(plus(z0, z1)) [0] minus(z0, 0) -> z0 [0] minus(s(z0), s(z1)) -> minus(z0, z1) [0] min(s(z0), s(z1)) -> s(min(z0, z1)) [0] min(0, z0) -> 0 [0] min(z0, 0) -> 0 [0] max(s(z0), s(z1)) -> s(max(z0, z1)) [0] max(0, z0) -> z0 [0] max(z0, 0) -> z0 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (43) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (44) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) [1] MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) [1] +'(s(z0), z1) -> c7(+'(z0, z1)) [1] -'(s(z0), s(z1)) -> c9(-'(z0, z1)) [1] *'(z0, s(z1)) -> c11(+'(z0, times(z0, z1)), *'(z0, z1)) [1] F(s(z0), s(z1)) -> c13(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c14(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), *'(s(z0), s(z1))) [1] times(z0, 0) -> 0 [0] times(z0, s(z1)) -> plus(z0, times(z0, z1)) [0] plus(0, z0) -> z0 [0] plus(s(z0), z1) -> s(plus(z0, z1)) [0] minus(z0, 0) -> z0 [0] minus(s(z0), s(z1)) -> minus(z0, z1) [0] min(s(z0), s(z1)) -> s(min(z0, z1)) [0] min(0, z0) -> 0 [0] min(z0, 0) -> 0 [0] max(s(z0), s(z1)) -> s(max(z0, z1)) [0] max(0, z0) -> z0 [0] max(z0, 0) -> z0 [0] The TRS has the following type information: MIN :: s:0 -> s:0 -> c2 s :: s:0 -> s:0 c2 :: c2 -> c2 MAX :: s:0 -> s:0 -> c5 c5 :: c5 -> c5 +' :: s:0 -> s:0 -> c7 c7 :: c7 -> c7 -' :: s:0 -> s:0 -> c9 c9 :: c9 -> c9 *' :: s:0 -> s:0 -> c11 c11 :: c7 -> c11 -> c11 times :: s:0 -> s:0 -> s:0 F :: s:0 -> s:0 -> c13:c14:c15 c13 :: c13:c14:c15 -> c9 -> c2 -> c13:c14:c15 minus :: s:0 -> s:0 -> s:0 min :: s:0 -> s:0 -> s:0 max :: s:0 -> s:0 -> s:0 c14 :: c13:c14:c15 -> c9 -> c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> c11 -> c13:c14:c15 0 :: s:0 plus :: s:0 -> s:0 -> s:0 Rewrite Strategy: INNERMOST ---------------------------------------- (45) 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: MIN_2 MAX_2 +'_2 -'_2 *'_2 F_2 (c) The following functions are completely defined: times_2 plus_2 minus_2 min_2 max_2 Due to the following rules being added: times(v0, v1) -> 0 [0] plus(v0, v1) -> 0 [0] minus(v0, v1) -> 0 [0] min(v0, v1) -> 0 [0] max(v0, v1) -> 0 [0] And the following fresh constants: const, const1, const2, const3, const4, const5 ---------------------------------------- (46) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) [1] MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) [1] +'(s(z0), z1) -> c7(+'(z0, z1)) [1] -'(s(z0), s(z1)) -> c9(-'(z0, z1)) [1] *'(z0, s(z1)) -> c11(+'(z0, times(z0, z1)), *'(z0, z1)) [1] F(s(z0), s(z1)) -> c13(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c14(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), *'(s(z0), s(z1))) [1] times(z0, 0) -> 0 [0] times(z0, s(z1)) -> plus(z0, times(z0, z1)) [0] plus(0, z0) -> z0 [0] plus(s(z0), z1) -> s(plus(z0, z1)) [0] minus(z0, 0) -> z0 [0] minus(s(z0), s(z1)) -> minus(z0, z1) [0] min(s(z0), s(z1)) -> s(min(z0, z1)) [0] min(0, z0) -> 0 [0] min(z0, 0) -> 0 [0] max(s(z0), s(z1)) -> s(max(z0, z1)) [0] max(0, z0) -> z0 [0] max(z0, 0) -> z0 [0] times(v0, v1) -> 0 [0] plus(v0, v1) -> 0 [0] minus(v0, v1) -> 0 [0] min(v0, v1) -> 0 [0] max(v0, v1) -> 0 [0] The TRS has the following type information: MIN :: s:0 -> s:0 -> c2 s :: s:0 -> s:0 c2 :: c2 -> c2 MAX :: s:0 -> s:0 -> c5 c5 :: c5 -> c5 +' :: s:0 -> s:0 -> c7 c7 :: c7 -> c7 -' :: s:0 -> s:0 -> c9 c9 :: c9 -> c9 *' :: s:0 -> s:0 -> c11 c11 :: c7 -> c11 -> c11 times :: s:0 -> s:0 -> s:0 F :: s:0 -> s:0 -> c13:c14:c15 c13 :: c13:c14:c15 -> c9 -> c2 -> c13:c14:c15 minus :: s:0 -> s:0 -> s:0 min :: s:0 -> s:0 -> s:0 max :: s:0 -> s:0 -> s:0 c14 :: c13:c14:c15 -> c9 -> c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> c11 -> c13:c14:c15 0 :: s:0 plus :: s:0 -> s:0 -> s:0 const :: c2 const1 :: c5 const2 :: c7 const3 :: c9 const4 :: c11 const5 :: c13:c14:c15 Rewrite Strategy: INNERMOST ---------------------------------------- (47) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (48) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) [1] MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) [1] +'(s(z0), z1) -> c7(+'(z0, z1)) [1] -'(s(z0), s(z1)) -> c9(-'(z0, z1)) [1] *'(z0, s(0)) -> c11(+'(z0, 0), *'(z0, 0)) [1] *'(z0, s(s(z1'))) -> c11(+'(z0, plus(z0, times(z0, z1'))), *'(z0, s(z1'))) [1] *'(z0, s(z1)) -> c11(+'(z0, 0), *'(z0, z1)) [1] F(s(z0), s(z1)) -> c13(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c14(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(s(min(z0, z1)), s(max(z0, z1))), plus(s(z0), times(s(z0), z1))), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(s(min(z0, z1)), s(max(z0, z1))), 0), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(s(min(z0, z1)), 0), plus(s(z0), times(s(z0), z1))), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(s(min(z0, z1)), 0), 0), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(0, s(max(z0, z1))), plus(s(z0), times(s(z0), z1))), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(0, s(max(z0, z1))), 0), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(0, 0), plus(s(z0), times(s(z0), z1))), *'(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(0, 0), 0), *'(s(z0), s(z1))) [1] times(z0, 0) -> 0 [0] times(z0, s(0)) -> plus(z0, 0) [0] times(z0, s(s(z1''))) -> plus(z0, plus(z0, times(z0, z1''))) [0] times(z0, s(z1)) -> plus(z0, 0) [0] plus(0, z0) -> z0 [0] plus(s(z0), z1) -> s(plus(z0, z1)) [0] minus(z0, 0) -> z0 [0] minus(s(z0), s(z1)) -> minus(z0, z1) [0] min(s(z0), s(z1)) -> s(min(z0, z1)) [0] min(0, z0) -> 0 [0] min(z0, 0) -> 0 [0] max(s(z0), s(z1)) -> s(max(z0, z1)) [0] max(0, z0) -> z0 [0] max(z0, 0) -> z0 [0] times(v0, v1) -> 0 [0] plus(v0, v1) -> 0 [0] minus(v0, v1) -> 0 [0] min(v0, v1) -> 0 [0] max(v0, v1) -> 0 [0] The TRS has the following type information: MIN :: s:0 -> s:0 -> c2 s :: s:0 -> s:0 c2 :: c2 -> c2 MAX :: s:0 -> s:0 -> c5 c5 :: c5 -> c5 +' :: s:0 -> s:0 -> c7 c7 :: c7 -> c7 -' :: s:0 -> s:0 -> c9 c9 :: c9 -> c9 *' :: s:0 -> s:0 -> c11 c11 :: c7 -> c11 -> c11 times :: s:0 -> s:0 -> s:0 F :: s:0 -> s:0 -> c13:c14:c15 c13 :: c13:c14:c15 -> c9 -> c2 -> c13:c14:c15 minus :: s:0 -> s:0 -> s:0 min :: s:0 -> s:0 -> s:0 max :: s:0 -> s:0 -> s:0 c14 :: c13:c14:c15 -> c9 -> c5 -> c13:c14:c15 c15 :: c13:c14:c15 -> c11 -> c13:c14:c15 0 :: s:0 plus :: s:0 -> s:0 -> s:0 const :: c2 const1 :: c5 const2 :: c7 const3 :: c9 const4 :: c11 const5 :: c13:c14:c15 Rewrite Strategy: INNERMOST ---------------------------------------- (49) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 const4 => 0 const5 => 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z0, plus(z0, times(z0, z1'))) + *'(z0, 1 + z1') :|: z' = 1 + (1 + z1'), z = z0, z1' >= 0, z0 >= 0 *'(z, z') -{ 1 }-> 1 + +'(z0, 0) + *'(z0, z1) :|: z = z0, z1 >= 0, z0 >= 0, z' = 1 + z1 *'(z, z') -{ 1 }-> 1 + +'(z0, 0) + *'(z0, 0) :|: z = z0, z' = 1 + 0, z0 >= 0 +'(z, z') -{ 1 }-> 1 + +'(z0, z1) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 -'(z, z') -{ 1 }-> 1 + -'(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + z0, times(1 + z0, z1))) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z0, z1)), plus(1 + z0, times(1 + z0, z1))) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z0, z1)), 0) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z0, z1), 0), plus(1 + z0, times(1 + z0, z1))) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z0, z1), 0), 0) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z0, z1), 1 + max(z0, z1)), plus(1 + z0, times(1 + z0, z1))) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z0, z1), 1 + max(z0, z1)), 0) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)), times(1 + z0, 1 + z1)) + -'(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)) + MIN(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)), times(1 + z0, 1 + z1)) + -'(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)) + MAX(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MAX(z, z') -{ 1 }-> 1 + MAX(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MIN(z, z') -{ 1 }-> 1 + MIN(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 max(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 max(z, z') -{ 0 }-> z0 :|: z = z0, z0 >= 0, z' = 0 max(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 max(z, z') -{ 0 }-> 1 + max(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 min(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 min(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 min(z, z') -{ 0 }-> 1 + min(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 minus(z, z') -{ 0 }-> z0 :|: z = z0, z0 >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 0 }-> 1 + plus(z0, z1) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 times(z, z') -{ 0 }-> plus(z0, plus(z0, times(z0, z1''))) :|: z = z0, z' = 1 + (1 + z1''), z0 >= 0, z1'' >= 0 times(z, z') -{ 0 }-> plus(z0, 0) :|: z = z0, z' = 1 + 0, z0 >= 0 times(z, z') -{ 0 }-> plus(z0, 0) :|: z = z0, z1 >= 0, z0 >= 0, z' = 1 + z1 times(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ---------------------------------------- (51) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ 1 }-> 1 + -'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ---------------------------------------- (53) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { -' } { minus } { +' } { MIN } { max } { min } { plus } { MAX } { times } { *' } { F } ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ 1 }-> 1 + -'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {-'}, {minus}, {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} ---------------------------------------- (55) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ 1 }-> 1 + -'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {-'}, {minus}, {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: -' after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ 1 }-> 1 + -'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {-'}, {minus}, {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: ?, size: O(1) [0] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: -' after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ 1 }-> 1 + -'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {minus}, {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (61) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {minus}, {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (63) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: minus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {minus}, {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: ?, size: O(n^1) [z] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: minus after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (67) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (69) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: +' after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {+'}, {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: ?, size: O(1) [0] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: +' after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, 0) :|: z' = 1 + 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, 0) + *'(z, z' - 1) :|: z' - 1 >= 0, z >= 0 +'(z, z') -{ 1 }-> 1 + +'(z - 1, z') :|: z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] ---------------------------------------- (73) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] ---------------------------------------- (75) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: MIN after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {MIN}, {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: ?, size: O(1) [0] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: MIN after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MIN(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ 1 }-> 1 + MIN(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (79) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + z' }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + s6 :|: s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (81) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: max after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + z' }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + s6 :|: s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {max}, {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: max after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(0, 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + z' }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + s6 :|: s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), max(1 + (z - 1), 1 + (z' - 1))) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + max(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (85) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + s11), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + s12), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + z' }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), s7), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), s8) + s6 :|: s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), s9), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), s10) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (87) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: min after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + s11), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + s12), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + z' }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), s7), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), s8) + s6 :|: s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), s9), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), s10) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {min}, {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: min after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 0), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + s11), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(1 + min(z - 1, z' - 1), 1 + s12), 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + z' }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), s7), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), s8) + s6 :|: s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + (z - 1), 1 + (z' - 1)), s9), times(1 + (z - 1), 1 + (z' - 1))) + -'(min(1 + (z - 1), 1 + (z' - 1)), s10) + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + min(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] ---------------------------------------- (91) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] ---------------------------------------- (93) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {plus}, {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + plus(z - 1, z') :|: z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> plus(z, 0) :|: z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (97) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (99) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: MAX after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {MAX}, {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: ?, size: O(1) [0] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: MAX after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + MAX(1 + (z - 1), 1 + (z' - 1)) :|: s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (103) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + s39 :|: s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (105) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: times after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 2*z + 2*z*z' ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + s39 :|: s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {times}, {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: ?, size: O(n^2) [2*z + 2*z*z'] ---------------------------------------- (107) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: times after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 }-> 1 + +'(z, plus(z, times(z, z' - 2))) + *'(z, 1 + (z' - 2)) :|: z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, times(1 + (z - 1), 1 + (z' - 1))) + s21 + s6 :|: s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, times(1 + (z - 1), 1 + (z' - 1))) + s25 + s39 :|: s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] ---------------------------------------- (109) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s42 + *'(z, 1 + (z' - 2)) :|: s40 >= 0, s40 <= 2 * z + 2 * ((z' - 2) * z), s41 >= 0, s41 <= z + s40, s42 >= 0, s42 <= 0, z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', s52) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s51 >= 0, s51 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s52 >= 0, s52 <= 1 + (z - 1) + s51, s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, s50) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s49 >= 0, s49 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s50 >= 0, s50 <= 1 + (z - 1) + s49, s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, s46) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s45 >= 0, s45 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s46 >= 0, s46 <= 1 + (z - 1) + s45, s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, s48) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s47 >= 0, s47 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s48 >= 0, s48 <= 1 + (z - 1) + s47, s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, s43) + s21 + s6 :|: s43 >= 0, s43 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, s44) + s25 + s39 :|: s44 >= 0, s44 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> s55 :|: s53 >= 0, s53 <= 2 * z + 2 * ((z' - 2) * z), s54 >= 0, s54 <= z + s53, s55 >= 0, s55 <= z + s54, z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] ---------------------------------------- (111) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: *' after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (112) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s42 + *'(z, 1 + (z' - 2)) :|: s40 >= 0, s40 <= 2 * z + 2 * ((z' - 2) * z), s41 >= 0, s41 <= z + s40, s42 >= 0, s42 <= 0, z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', s52) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s51 >= 0, s51 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s52 >= 0, s52 <= 1 + (z - 1) + s51, s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, s50) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s49 >= 0, s49 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s50 >= 0, s50 <= 1 + (z - 1) + s49, s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, s46) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s45 >= 0, s45 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s46 >= 0, s46 <= 1 + (z - 1) + s45, s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, s48) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s47 >= 0, s47 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s48 >= 0, s48 <= 1 + (z - 1) + s47, s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, s43) + s21 + s6 :|: s43 >= 0, s43 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, s44) + s25 + s39 :|: s44 >= 0, s44 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> s55 :|: s53 >= 0, s53 <= 2 * z + 2 * ((z' - 2) * z), s54 >= 0, s54 <= z + s53, s55 >= 0, s55 <= z + s54, z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {*'}, {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] *': runtime: ?, size: O(1) [0] ---------------------------------------- (113) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: *' after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 3*z*z' + 3*z' ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + *'(z, 0) :|: s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s4 + *'(z, z' - 1) :|: s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ 1 + z }-> 1 + s42 + *'(z, 1 + (z' - 2)) :|: s40 >= 0, s40 <= 2 * z + 2 * ((z' - 2) * z), s41 >= 0, s41 <= z + s40, s42 >= 0, s42 <= 0, z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s', s52) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s51 >= 0, s51 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s52 >= 0, s52 <= 1 + (z - 1) + s51, s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s'', 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s14, s50) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s49 >= 0, s49 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s50 >= 0, s50 <= 1 + (z - 1) + s49, s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s16, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s27, s46) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s45 >= 0, s45 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s46 >= 0, s46 <= 1 + (z - 1) + s45, s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s29, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s31, s48) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s47 >= 0, s47 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s48 >= 0, s48 <= 1 + (z - 1) + s47, s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 }-> 1 + F(s33, 0) + *'(1 + (z - 1), 1 + (z' - 1)) :|: s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, s43) + s21 + s6 :|: s43 >= 0, s43 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, s44) + s25 + s39 :|: s44 >= 0, s44 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> s55 :|: s53 >= 0, s53 <= 2 * z + 2 * ((z' - 2) * z), s54 >= 0, s54 <= z + s53, s55 >= 0, s55 <= z + s54, z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] *': runtime: O(n^2) [3*z*z' + 3*z'], size: O(1) [0] ---------------------------------------- (115) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (116) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + s56 :|: s56 >= 0, s56 <= 0, s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ -2 + -2*z + 3*z*z' + 3*z' }-> 1 + s4 + s58 :|: s58 >= 0, s58 <= 0, s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ -2 + -2*z + 3*z*z' + 3*z' }-> 1 + s42 + s57 :|: s57 >= 0, s57 <= 0, s40 >= 0, s40 <= 2 * z + 2 * ((z' - 2) * z), s41 >= 0, s41 <= z + s40, s42 >= 0, s42 <= 0, z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s', s52) + s65 :|: s65 >= 0, s65 <= 0, s51 >= 0, s51 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s52 >= 0, s52 <= 1 + (z - 1) + s51, s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s'', 0) + s66 :|: s66 >= 0, s66 <= 0, s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s14, s50) + s63 :|: s63 >= 0, s63 <= 0, s49 >= 0, s49 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s50 >= 0, s50 <= 1 + (z - 1) + s49, s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s16, 0) + s64 :|: s64 >= 0, s64 <= 0, s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s27, s46) + s59 :|: s59 >= 0, s59 <= 0, s45 >= 0, s45 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s46 >= 0, s46 <= 1 + (z - 1) + s45, s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s29, 0) + s60 :|: s60 >= 0, s60 <= 0, s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s31, s48) + s61 :|: s61 >= 0, s61 <= 0, s47 >= 0, s47 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s48 >= 0, s48 <= 1 + (z - 1) + s47, s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s33, 0) + s62 :|: s62 >= 0, s62 <= 0, s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, s43) + s21 + s6 :|: s43 >= 0, s43 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, s44) + s25 + s39 :|: s44 >= 0, s44 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> s55 :|: s53 >= 0, s53 <= 2 * z + 2 * ((z' - 2) * z), s54 >= 0, s54 <= z + s53, s55 >= 0, s55 <= z + s54, z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] *': runtime: O(n^2) [3*z*z' + 3*z'], size: O(1) [0] ---------------------------------------- (117) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: F after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (118) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + s56 :|: s56 >= 0, s56 <= 0, s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ -2 + -2*z + 3*z*z' + 3*z' }-> 1 + s4 + s58 :|: s58 >= 0, s58 <= 0, s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ -2 + -2*z + 3*z*z' + 3*z' }-> 1 + s42 + s57 :|: s57 >= 0, s57 <= 0, s40 >= 0, s40 <= 2 * z + 2 * ((z' - 2) * z), s41 >= 0, s41 <= z + s40, s42 >= 0, s42 <= 0, z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s', s52) + s65 :|: s65 >= 0, s65 <= 0, s51 >= 0, s51 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s52 >= 0, s52 <= 1 + (z - 1) + s51, s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s'', 0) + s66 :|: s66 >= 0, s66 <= 0, s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s14, s50) + s63 :|: s63 >= 0, s63 <= 0, s49 >= 0, s49 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s50 >= 0, s50 <= 1 + (z - 1) + s49, s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s16, 0) + s64 :|: s64 >= 0, s64 <= 0, s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s27, s46) + s59 :|: s59 >= 0, s59 <= 0, s45 >= 0, s45 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s46 >= 0, s46 <= 1 + (z - 1) + s45, s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s29, 0) + s60 :|: s60 >= 0, s60 <= 0, s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s31, s48) + s61 :|: s61 >= 0, s61 <= 0, s47 >= 0, s47 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s48 >= 0, s48 <= 1 + (z - 1) + s47, s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s33, 0) + s62 :|: s62 >= 0, s62 <= 0, s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, s43) + s21 + s6 :|: s43 >= 0, s43 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, s44) + s25 + s39 :|: s44 >= 0, s44 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> s55 :|: s53 >= 0, s53 <= 2 * z + 2 * ((z' - 2) * z), s54 >= 0, s54 <= z + s53, s55 >= 0, s55 <= z + s54, z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] *': runtime: O(n^2) [3*z*z' + 3*z'], size: O(1) [0] F: runtime: ?, size: O(1) [0] ---------------------------------------- (119) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: F after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (120) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 1 + z }-> 1 + s3 + s56 :|: s56 >= 0, s56 <= 0, s3 >= 0, s3 <= 0, z' = 1 + 0, z >= 0 *'(z, z') -{ -2 + -2*z + 3*z*z' + 3*z' }-> 1 + s4 + s58 :|: s58 >= 0, s58 <= 0, s4 >= 0, s4 <= 0, z' - 1 >= 0, z >= 0 *'(z, z') -{ -2 + -2*z + 3*z*z' + 3*z' }-> 1 + s42 + s57 :|: s57 >= 0, s57 <= 0, s40 >= 0, s40 <= 2 * z + 2 * ((z' - 2) * z), s41 >= 0, s41 <= z + s40, s42 >= 0, s42 <= 0, z' - 2 >= 0, z >= 0 +'(z, z') -{ z }-> 1 + s2 :|: s2 >= 0, s2 <= 0, z' >= 0, z - 1 >= 0 -'(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s', s52) + s65 :|: s65 >= 0, s65 <= 0, s51 >= 0, s51 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s52 >= 0, s52 <= 1 + (z - 1) + s51, s' >= 0, s' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s'', 0) + s66 :|: s66 >= 0, s66 <= 0, s'' >= 0, s'' <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s14, s50) + s63 :|: s63 >= 0, s63 <= 0, s49 >= 0, s49 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s50 >= 0, s50 <= 1 + (z - 1) + s49, s13 >= 0, s13 <= z' - 1 + (z - 1), s14 >= 0, s14 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s16, 0) + s64 :|: s64 >= 0, s64 <= 0, s15 >= 0, s15 <= z' - 1 + (z - 1), s16 >= 0, s16 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s27, s46) + s59 :|: s59 >= 0, s59 <= 0, s45 >= 0, s45 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s46 >= 0, s46 <= 1 + (z - 1) + s45, s26 >= 0, s26 <= z' - 1, s27 >= 0, s27 <= 1 + s26, s11 >= 0, s11 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s29, 0) + s60 :|: s60 >= 0, s60 <= 0, s28 >= 0, s28 <= z' - 1, s29 >= 0, s29 <= 1 + s28, s12 >= 0, s12 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s31, s48) + s61 :|: s61 >= 0, s61 <= 0, s47 >= 0, s47 <= 2 * (1 + (z - 1)) + 2 * ((z' - 1) * (1 + (z - 1))), s48 >= 0, s48 <= 1 + (z - 1) + s47, s30 >= 0, s30 <= z' - 1, s31 >= 0, s31 <= 1 + s30, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + 3*z*z' + 3*z' }-> 1 + F(s33, 0) + s62 :|: s62 >= 0, s62 <= 0, s32 >= 0, s32 <= z' - 1, s33 >= 0, s33 <= 1 + s32, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s8 + z' }-> 1 + F(s19, s43) + s21 + s6 :|: s43 >= 0, s43 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s18 >= 0, s18 <= 1 + (z' - 1), s19 >= 0, s19 <= s18, s20 >= 0, s20 <= 1 + (z' - 1), s21 >= 0, s21 <= 0, s7 >= 0, s7 <= 1 + (z' - 1) + (1 + (z - 1)), s8 >= 0, s8 <= 1 + (z' - 1) + (1 + (z - 1)), s6 >= 0, s6 <= 0, z' - 1 >= 0, z - 1 >= 0 F(z, z') -{ 1 + s10 + z' }-> 1 + F(s23, s44) + s25 + s39 :|: s44 >= 0, s44 <= 2 * (1 + (z - 1)) + 2 * ((1 + (z' - 1)) * (1 + (z - 1))), s39 >= 0, s39 <= 0, s22 >= 0, s22 <= 1 + (z' - 1), s23 >= 0, s23 <= s22, s24 >= 0, s24 <= 1 + (z' - 1), s25 >= 0, s25 <= 0, s9 >= 0, s9 <= 1 + (z' - 1) + (1 + (z - 1)), s10 >= 0, s10 <= 1 + (z' - 1) + (1 + (z - 1)), z' - 1 >= 0, z - 1 >= 0 MAX(z, z') -{ z' }-> 1 + s38 :|: s38 >= 0, s38 <= 0, z' - 1 >= 0, z - 1 >= 0 MIN(z, z') -{ z' }-> 1 + s5 :|: s5 >= 0, s5 <= 0, z' - 1 >= 0, z - 1 >= 0 max(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 1 + s17 :|: s17 >= 0, s17 <= z' - 1 + (z - 1), z' - 1 >= 0, z - 1 >= 0 min(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 min(z, z') -{ 0 }-> 1 + s34 :|: s34 >= 0, s34 <= z' - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= z - 1, z' - 1 >= 0, z - 1 >= 0 minus(z, z') -{ 0 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> 1 + s37 :|: s37 >= 0, s37 <= z - 1 + z', z' >= 0, z - 1 >= 0 times(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= z + 0, z' = 1 + 0, z >= 0 times(z, z') -{ 0 }-> s36 :|: s36 >= 0, s36 <= z + 0, z' - 1 >= 0, z >= 0 times(z, z') -{ 0 }-> s55 :|: s53 >= 0, s53 <= 2 * z + 2 * ((z' - 2) * z), s54 >= 0, s54 <= z + s53, s55 >= 0, s55 <= z + s54, z >= 0, z' - 2 >= 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {F} Previous analysis results are: -': runtime: O(n^1) [z'], size: O(1) [0] minus: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(n^1) [z], size: O(1) [0] MIN: runtime: O(n^1) [z'], size: O(1) [0] max: runtime: O(1) [0], size: O(n^1) [z + z'] min: runtime: O(1) [0], size: O(n^1) [z'] plus: runtime: O(1) [0], size: O(n^1) [z + z'] MAX: runtime: O(n^1) [z'], size: O(1) [0] times: runtime: O(1) [0], size: O(n^2) [2*z + 2*z*z'] *': runtime: O(n^2) [3*z*z' + 3*z'], size: O(1) [0] F: runtime: INF, size: O(1) [0] ---------------------------------------- (121) 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: times(v0, v1) -> null_times [0] plus(v0, v1) -> null_plus [0] minus(v0, v1) -> null_minus [0] min(v0, v1) -> null_min [0] max(v0, v1) -> null_max [0] MIN(v0, v1) -> null_MIN [0] MAX(v0, v1) -> null_MAX [0] +'(v0, v1) -> null_+' [0] -'(v0, v1) -> null_-' [0] *'(v0, v1) -> null_*' [0] F(v0, v1) -> null_F [0] And the following fresh constants: null_times, null_plus, null_minus, null_min, null_max, null_MIN, null_MAX, null_+', null_-', null_*', null_F ---------------------------------------- (122) 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: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) [1] MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) [1] +'(s(z0), z1) -> c7(+'(z0, z1)) [1] -'(s(z0), s(z1)) -> c9(-'(z0, z1)) [1] *'(z0, s(z1)) -> c11(+'(z0, times(z0, z1)), *'(z0, z1)) [1] F(s(z0), s(z1)) -> c13(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c14(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) [1] F(s(z0), s(z1)) -> c15(F(minus(min(s(z0), s(z1)), max(s(z0), s(z1))), times(s(z0), s(z1))), *'(s(z0), s(z1))) [1] times(z0, 0) -> 0 [0] times(z0, s(z1)) -> plus(z0, times(z0, z1)) [0] plus(0, z0) -> z0 [0] plus(s(z0), z1) -> s(plus(z0, z1)) [0] minus(z0, 0) -> z0 [0] minus(s(z0), s(z1)) -> minus(z0, z1) [0] min(s(z0), s(z1)) -> s(min(z0, z1)) [0] min(0, z0) -> 0 [0] min(z0, 0) -> 0 [0] max(s(z0), s(z1)) -> s(max(z0, z1)) [0] max(0, z0) -> z0 [0] max(z0, 0) -> z0 [0] times(v0, v1) -> null_times [0] plus(v0, v1) -> null_plus [0] minus(v0, v1) -> null_minus [0] min(v0, v1) -> null_min [0] max(v0, v1) -> null_max [0] MIN(v0, v1) -> null_MIN [0] MAX(v0, v1) -> null_MAX [0] +'(v0, v1) -> null_+' [0] -'(v0, v1) -> null_-' [0] *'(v0, v1) -> null_*' [0] F(v0, v1) -> null_F [0] The TRS has the following type information: MIN :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> c2:null_MIN s :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max c2 :: c2:null_MIN -> c2:null_MIN MAX :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> c5:null_MAX c5 :: c5:null_MAX -> c5:null_MAX +' :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> c7:null_+' c7 :: c7:null_+' -> c7:null_+' -' :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> c9:null_-' c9 :: c9:null_-' -> c9:null_-' *' :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> c11:null_*' c11 :: c7:null_+' -> c11:null_*' -> c11:null_*' times :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max F :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> c13:c14:c15:null_F c13 :: c13:c14:c15:null_F -> c9:null_-' -> c2:null_MIN -> c13:c14:c15:null_F minus :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max min :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max max :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max c14 :: c13:c14:c15:null_F -> c9:null_-' -> c5:null_MAX -> c13:c14:c15:null_F c15 :: c13:c14:c15:null_F -> c11:null_*' -> c13:c14:c15:null_F 0 :: s:0:null_times:null_plus:null_minus:null_min:null_max plus :: s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max -> s:0:null_times:null_plus:null_minus:null_min:null_max null_times :: s:0:null_times:null_plus:null_minus:null_min:null_max null_plus :: s:0:null_times:null_plus:null_minus:null_min:null_max null_minus :: s:0:null_times:null_plus:null_minus:null_min:null_max null_min :: s:0:null_times:null_plus:null_minus:null_min:null_max null_max :: s:0:null_times:null_plus:null_minus:null_min:null_max null_MIN :: c2:null_MIN null_MAX :: c5:null_MAX null_+' :: c7:null_+' null_-' :: c9:null_-' null_*' :: c11:null_*' null_F :: c13:c14:c15:null_F Rewrite Strategy: INNERMOST ---------------------------------------- (123) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 null_times => 0 null_plus => 0 null_minus => 0 null_min => 0 null_max => 0 null_MIN => 0 null_MAX => 0 null_+' => 0 null_-' => 0 null_*' => 0 null_F => 0 ---------------------------------------- (124) Obligation: Complexity RNTS consisting of the following rules: *'(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 *'(z, z') -{ 1 }-> 1 + +'(z0, times(z0, z1)) + *'(z0, z1) :|: z = z0, z1 >= 0, z0 >= 0, z' = 1 + z1 +'(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 +'(z, z') -{ 1 }-> 1 + +'(z0, z1) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 -'(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 -'(z, z') -{ 1 }-> 1 + -'(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)), times(1 + z0, 1 + z1)) + *'(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)), times(1 + z0, 1 + z1)) + -'(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)) + MIN(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 F(z, z') -{ 1 }-> 1 + F(minus(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)), times(1 + z0, 1 + z1)) + -'(min(1 + z0, 1 + z1), max(1 + z0, 1 + z1)) + MAX(1 + z0, 1 + z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MAX(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 MAX(z, z') -{ 1 }-> 1 + MAX(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MIN(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 MIN(z, z') -{ 1 }-> 1 + MIN(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 max(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 max(z, z') -{ 0 }-> z0 :|: z = z0, z0 >= 0, z' = 0 max(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 max(z, z') -{ 0 }-> 1 + max(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 min(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 min(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 min(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 min(z, z') -{ 0 }-> 1 + min(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 minus(z, z') -{ 0 }-> z0 :|: z = z0, z0 >= 0, z' = 0 minus(z, z') -{ 0 }-> minus(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 0 }-> 1 + plus(z0, z1) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 times(z, z') -{ 0 }-> plus(z0, times(z0, z1)) :|: z = z0, z1 >= 0, z0 >= 0, z' = 1 + z1 times(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 times(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (125) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c14_3, c15_2, c13_3 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c15_2, c13_3, c14_3 ---------------------------------------- (129) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) by F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) by F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2 ---------------------------------------- (133) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), s(max(x0, z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(x0), s(z1)) -> c13(F(-(s(min(x0, z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c14_3, c15_2, c13_3 ---------------------------------------- (137) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) by F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c14_3, c15_2, c13_3 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), s(max(x0, z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c14_3, c15_2, c13_3 ---------------------------------------- (141) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(x0), s(z1)) -> c14(F(-(s(min(x0, z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c15_2, c13_3, c14_3 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) by F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) K tuples:none Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c15_2, c13_3, c14_3, c15_1 ---------------------------------------- (145) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) We considered the (Usable) Rules:none And the Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) The order we found is given by the following interpretation: Polynomial interpretation : POL(*(x_1, x_2)) = [1] + x_1 + x_2 POL(*'(x_1, x_2)) = x_1 POL(+(x_1, x_2)) = 0 POL(+'(x_1, x_2)) = 0 POL(-(x_1, x_2)) = [1] POL(-'(x_1, x_2)) = 0 POL(0) = 0 POL(F(x_1, x_2)) = [1] POL(MAX(x_1, x_2)) = 0 POL(MIN(x_1, x_2)) = 0 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c13(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c14(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c15(x_1)) = x_1 POL(c15(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c7(x_1)) = x_1 POL(c9(x_1)) = x_1 POL(max(x_1, x_2)) = [1] + x_1 + x_2 POL(min(x_1, x_2)) = 0 POL(s(x_1)) = 0 ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c15_2, c13_3, c14_3, c15_1 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) by F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), s(max(x0, z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c15_2, c13_3, c14_3, c15_1 ---------------------------------------- (149) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) by F(s(x0), s(z1)) -> c15(F(-(s(min(x0, z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1 ---------------------------------------- (151) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(0)) -> c13(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MIN(s(x0), s(0))) by F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1 ---------------------------------------- (153) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(s(z1))) -> c13(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MIN(s(x0), s(s(z1)))) by F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1 ---------------------------------------- (155) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1 ---------------------------------------- (157) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MIN_2, MAX_2, +'_2, -'_2, *'_2, F_2 Compound Symbols: c2_1, c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1 ---------------------------------------- (159) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MIN(s(z0), s(z1)) -> c2(MIN(z0, z1)) by MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) S tuples: MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MIN(s(0), s(z0))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MIN(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MAX_2, +'_2, -'_2, *'_2, F_2, MIN_2 Compound Symbols: c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1, c2_1 ---------------------------------------- (161) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) S tuples: MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: MAX_2, +'_2, -'_2, *'_2, F_2, MIN_2 Compound Symbols: c5_1, c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2 ---------------------------------------- (163) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MAX(s(z0), s(z1)) -> c5(MAX(z0, z1)) by MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) S tuples: +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0))), MAX(s(x0), s(0))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0))), MAX(s(0), s(z0))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0))), MAX(s(z0), s(0))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: +'_2, -'_2, *'_2, F_2, MIN_2, MAX_2 Compound Symbols: c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1 ---------------------------------------- (165) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) S tuples: +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: +'_2, -'_2, *'_2, F_2, MIN_2, MAX_2 Compound Symbols: c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2 ---------------------------------------- (167) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(z1)) -> c13(F(-(min(s(x0), s(z1)), s(max(x0, z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) by F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) S tuples: +'(s(z0), z1) -> c7(+'(z0, z1)) -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: +'_2, -'_2, *'_2, F_2, MIN_2, MAX_2 Compound Symbols: c7_1, c9_1, c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2 ---------------------------------------- (169) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace +'(s(z0), z1) -> c7(+'(z0, z1)) by +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) S tuples: -'(s(z0), s(z1)) -> c9(-'(z0, z1)) *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: -'_2, *'_2, F_2, MIN_2, MAX_2, +'_2 Compound Symbols: c9_1, c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1 ---------------------------------------- (171) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace -'(s(z0), s(z1)) -> c9(-'(z0, z1)) by -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (173) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) by F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (175) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (177) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(z1)) -> c13(F(-(s(min(x0, z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MIN(s(x0), s(z1))) by F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (179) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) by F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (181) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) by F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (183) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(s(z1))) -> c14(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), -'(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), MAX(s(x0), s(s(z1)))) by F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) ---------------------------------------- (184) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (185) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (186) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (187) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (188) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (189) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(z1)) -> c14(F(-(min(s(x0), s(z1)), s(max(x0, z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) by F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (190) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (191) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) by F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) ---------------------------------------- (192) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (193) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (194) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (195) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(z1)) -> c14(F(-(s(min(x0, z1)), max(s(x0), s(z1))), +(s(x0), *(s(x0), z1))), -'(min(s(x0), s(z1)), max(s(x0), s(z1))), MAX(s(x0), s(z1))) by F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (196) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (197) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) by F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) ---------------------------------------- (198) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (199) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) by F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) ---------------------------------------- (200) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (201) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(0)) -> c15(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), *'(s(x0), s(0))) by F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) ---------------------------------------- (202) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (203) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(s(z1))) -> c15(F(-(min(s(x0), s(s(z1))), max(s(x0), s(s(z1)))), +(s(x0), +(s(x0), *(s(x0), z1)))), *'(s(x0), s(s(z1)))) by F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) ---------------------------------------- (204) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (205) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) by F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) ---------------------------------------- (206) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (207) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) by F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) ---------------------------------------- (208) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MIN_2, MAX_2, +'_2, -'_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c2_1, c13_2, c5_1, c14_2, c7_1, c9_1 ---------------------------------------- (209) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MIN(s(s(y0)), s(s(y1))) -> c2(MIN(s(y0), s(y1))) by MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) ---------------------------------------- (210) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MAX_2, +'_2, -'_2, MIN_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c13_2, c5_1, c14_2, c7_1, c9_1, c2_1 ---------------------------------------- (211) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(x0), s(z1)) -> c15(F(-(min(s(x0), s(z1)), s(max(x0, z1))), +(s(x0), *(s(x0), z1))), *'(s(x0), s(z1))) by F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) ---------------------------------------- (212) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MAX_2, +'_2, -'_2, MIN_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c13_2, c5_1, c14_2, c7_1, c9_1, c2_1 ---------------------------------------- (213) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) by F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), *'(s(s(z0)), s(s(z1)))) ---------------------------------------- (214) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), *'(s(s(z0)), s(s(z1)))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), *'(s(s(z0)), s(s(z1)))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MAX_2, +'_2, -'_2, MIN_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c13_2, c5_1, c14_2, c7_1, c9_1, c2_1 ---------------------------------------- (215) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), *'(s(0), s(z0))) by F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), +(s(0), *(s(0), z0))), *'(s(0), s(z0))) ---------------------------------------- (216) Obligation: Complexity Dependency Tuples Problem Rules: *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) min(s(z0), s(z1)) -> s(min(z0, z1)) min(0, z0) -> 0 min(z0, 0) -> 0 max(s(z0), s(z1)) -> s(max(z0, z1)) max(0, z0) -> z0 max(z0, 0) -> z0 Tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), +(s(z0), *(s(z0), z1))), *'(s(z0), s(z1))) F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), +(s(0), *(s(0), z0))), *'(s(0), s(z0))) S tuples: *'(z0, s(z1)) -> c11(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), s(x1)) -> c13(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MIN(s(z0), s(x1))) F(s(z0), s(x1)) -> c14(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), -'(min(s(z0), s(x1)), max(s(z0), s(x1))), MAX(s(z0), s(x1))) F(s(z0), s(x1)) -> c15(F(-(min(s(z0), s(x1)), max(s(z0), s(x1))), s(+(z0, *(s(z0), x1)))), *'(s(z0), s(x1))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), s(max(z0, z1))), *(s(z0), s(z1))), *'(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c15(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), *(s(s(z0)), s(s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), *'(s(0), s(z0))) F(s(z0), s(0)) -> c15(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c13(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MIN(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(0), s(z0)) -> c13(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c13(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c13(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(z0), s(0)) -> c13(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) MAX(s(s(y0)), s(s(y1))) -> c5(MAX(s(y0), s(y1))) F(s(x0), s(0)) -> c14(F(-(min(s(x0), s(0)), max(s(x0), s(0))), +(s(x0), 0)), -'(min(s(x0), s(0)), max(s(x0), s(0)))) F(s(0), s(z0)) -> c14(F(-(min(s(0), s(z0)), s(z0)), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(min(s(z0), s(0)), s(z0)), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) F(s(0), s(z0)) -> c14(F(-(s(0), max(s(0), s(z0))), *(s(0), s(z0))), -'(min(s(0), s(z0)), max(s(0), s(z0)))) F(s(z0), s(0)) -> c14(F(-(s(0), max(s(z0), s(0))), *(s(z0), s(0))), -'(min(s(z0), s(0)), max(s(z0), s(0)))) +'(s(s(y0)), z1) -> c7(+'(s(y0), z1)) -'(s(s(y0)), s(s(y1))) -> c9(-'(s(y0), s(y1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c13(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MIN(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c13(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MIN(s(s(z0)), s(s(z1)))) F(s(z0), s(s(z1))) -> c14(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), -'(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), MAX(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(z1)) -> c14(F(-(s(min(z0, z1)), s(max(z0, z1))), +(s(z0), *(s(z0), z1))), -'(min(s(z0), s(z1)), max(s(z0), s(z1))), MAX(s(z0), s(z1))) F(s(s(z0)), s(s(z1))) -> c14(F(-(s(s(min(z0, z1))), max(s(s(z0)), s(s(z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), -'(min(s(s(z0)), s(s(z1))), max(s(s(z0)), s(s(z1)))), MAX(s(s(z0)), s(s(z1)))) F(s(z0), s(0)) -> c15(F(-(min(s(z0), s(0)), max(s(z0), s(0))), s(+(z0, 0))), *'(s(z0), s(0))) F(s(z0), s(s(z1))) -> c15(F(-(min(s(z0), s(s(z1))), max(s(z0), s(s(z1)))), s(+(z0, +(s(z0), *(s(z0), z1))))), *'(s(z0), s(s(z1)))) F(s(z0), s(z1)) -> c15(F(-(min(s(z0), s(z1)), s(max(z0, z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) F(s(z0), s(z1)) -> c15(F(-(s(min(z0, z1)), max(s(z0), s(z1))), s(+(z0, *(s(z0), z1)))), *'(s(z0), s(z1))) MIN(s(s(s(y0))), s(s(s(y1)))) -> c2(MIN(s(s(y0)), s(s(y1)))) F(s(s(z0)), s(s(z1))) -> c15(F(-(min(s(s(z0)), s(s(z1))), s(s(max(z0, z1)))), +(s(s(z0)), *(s(s(z0)), s(z1)))), *'(s(s(z0)), s(s(z1)))) F(s(0), s(z0)) -> c15(F(-(min(s(0), s(z0)), s(z0)), +(s(0), *(s(0), z0))), *'(s(0), s(z0))) K tuples: F(s(x0), s(x1)) -> c15(*'(s(x0), s(x1))) Defined Rule Symbols: *_2, +_2, -_2, min_2, max_2 Defined Pair Symbols: *'_2, F_2, MAX_2, +'_2, -'_2, MIN_2 Compound Symbols: c11_2, c13_3, c14_3, c15_2, c15_1, c13_2, c5_1, c14_2, c7_1, c9_1, c2_1 ---------------------------------------- (217) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (218) 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: min(0, y) -> 0 [1] min(x, 0) -> 0 [1] min(s(x), s(y)) -> s(min(x, y)) [1] max(0, y) -> y [1] max(x, 0) -> x [1] max(s(x), s(y)) -> s(max(x, y)) [1] +(0, y) -> y [1] +(s(x), y) -> s(+(x, y)) [1] -(x, 0) -> x [1] -(s(x), s(y)) -> -(x, y) [1] *(x, 0) -> 0 [1] *(x, s(y)) -> +(x, *(x, y)) [1] p(s(x)) -> x [1] f(s(x), s(y)) -> f(-(min(s(x), s(y)), max(s(x), s(y))), *(s(x), s(y))) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (219) CpxWeightedTrsRenamingProof (BOTH BOUNDS(ID, ID)) Renamed defined symbols to avoid conflicts with arithmetic symbols: + => plus - => minus * => times ---------------------------------------- (220) 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: min(0, y) -> 0 [1] min(x, 0) -> 0 [1] min(s(x), s(y)) -> s(min(x, y)) [1] max(0, y) -> y [1] max(x, 0) -> x [1] max(s(x), s(y)) -> s(max(x, y)) [1] plus(0, y) -> y [1] plus(s(x), y) -> s(plus(x, y)) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] times(x, 0) -> 0 [1] times(x, s(y)) -> plus(x, times(x, y)) [1] p(s(x)) -> x [1] f(s(x), s(y)) -> f(minus(min(s(x), s(y)), max(s(x), s(y))), times(s(x), s(y))) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (221) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (222) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: min(0, y) -> 0 [1] min(x, 0) -> 0 [1] min(s(x), s(y)) -> s(min(x, y)) [1] max(0, y) -> y [1] max(x, 0) -> x [1] max(s(x), s(y)) -> s(max(x, y)) [1] plus(0, y) -> y [1] plus(s(x), y) -> s(plus(x, y)) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] times(x, 0) -> 0 [1] times(x, s(y)) -> plus(x, times(x, y)) [1] p(s(x)) -> x [1] f(s(x), s(y)) -> f(minus(min(s(x), s(y)), max(s(x), s(y))), times(s(x), s(y))) [1] The TRS has the following type information: min :: 0:s -> 0:s -> 0:s 0 :: 0:s s :: 0:s -> 0:s max :: 0:s -> 0:s -> 0:s plus :: 0:s -> 0:s -> 0:s minus :: 0:s -> 0:s -> 0:s times :: 0:s -> 0:s -> 0:s p :: 0:s -> 0:s f :: 0:s -> 0:s -> f Rewrite Strategy: INNERMOST ---------------------------------------- (223) 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: p_1 f_2 (c) The following functions are completely defined: times_2 minus_2 min_2 max_2 plus_2 Due to the following rules being added: minus(v0, v1) -> 0 [0] And the following fresh constants: const ---------------------------------------- (224) 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: min(0, y) -> 0 [1] min(x, 0) -> 0 [1] min(s(x), s(y)) -> s(min(x, y)) [1] max(0, y) -> y [1] max(x, 0) -> x [1] max(s(x), s(y)) -> s(max(x, y)) [1] plus(0, y) -> y [1] plus(s(x), y) -> s(plus(x, y)) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] times(x, 0) -> 0 [1] times(x, s(y)) -> plus(x, times(x, y)) [1] p(s(x)) -> x [1] f(s(x), s(y)) -> f(minus(min(s(x), s(y)), max(s(x), s(y))), times(s(x), s(y))) [1] minus(v0, v1) -> 0 [0] The TRS has the following type information: min :: 0:s -> 0:s -> 0:s 0 :: 0:s s :: 0:s -> 0:s max :: 0:s -> 0:s -> 0:s plus :: 0:s -> 0:s -> 0:s minus :: 0:s -> 0:s -> 0:s times :: 0:s -> 0:s -> 0:s p :: 0:s -> 0:s f :: 0:s -> 0:s -> f const :: f Rewrite Strategy: INNERMOST ---------------------------------------- (225) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (226) 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: min(0, y) -> 0 [1] min(x, 0) -> 0 [1] min(s(x), s(y)) -> s(min(x, y)) [1] max(0, y) -> y [1] max(x, 0) -> x [1] max(s(x), s(y)) -> s(max(x, y)) [1] plus(0, y) -> y [1] plus(s(x), y) -> s(plus(x, y)) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] times(x, 0) -> 0 [1] times(x, s(0)) -> plus(x, 0) [2] times(x, s(s(y'))) -> plus(x, plus(x, times(x, y'))) [2] p(s(x)) -> x [1] f(s(x), s(y)) -> f(minus(s(min(x, y)), s(max(x, y))), plus(s(x), times(s(x), y))) [4] minus(v0, v1) -> 0 [0] The TRS has the following type information: min :: 0:s -> 0:s -> 0:s 0 :: 0:s s :: 0:s -> 0:s max :: 0:s -> 0:s -> 0:s plus :: 0:s -> 0:s -> 0:s minus :: 0:s -> 0:s -> 0:s times :: 0:s -> 0:s -> 0:s p :: 0:s -> 0:s f :: 0:s -> 0:s -> f const :: f Rewrite Strategy: INNERMOST ---------------------------------------- (227) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 const => 0 ---------------------------------------- (228) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 4 }-> f(minus(1 + min(x, y), 1 + max(x, y)), plus(1 + x, times(1 + x, y))) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x max(z, z') -{ 1 }-> x :|: x >= 0, z = x, z' = 0 max(z, z') -{ 1 }-> y :|: y >= 0, z = 0, z' = y max(z, z') -{ 1 }-> 1 + max(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x min(z, z') -{ 1 }-> 0 :|: y >= 0, z = 0, z' = y min(z, z') -{ 1 }-> 0 :|: x >= 0, z = x, z' = 0 min(z, z') -{ 1 }-> 1 + min(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x minus(z, z') -{ 1 }-> x :|: x >= 0, z = x, z' = 0 minus(z, z') -{ 1 }-> minus(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x plus(z, z') -{ 1 }-> y :|: y >= 0, z = 0, z' = y plus(z, z') -{ 1 }-> 1 + plus(x, y) :|: x >= 0, y >= 0, z = 1 + x, z' = y times(z, z') -{ 2 }-> plus(x, plus(x, times(x, y'))) :|: z' = 1 + (1 + y'), x >= 0, y' >= 0, z = x times(z, z') -{ 2 }-> plus(x, 0) :|: x >= 0, z' = 1 + 0, z = x times(z, z') -{ 1 }-> 0 :|: x >= 0, z = x, z' = 0 ---------------------------------------- (229) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (230) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 4 }-> f(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 1 }-> 1 + max(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 ---------------------------------------- (231) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { max } { minus } { min } { plus } { p } { times } { f } ---------------------------------------- (232) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 4 }-> f(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 1 }-> 1 + max(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {max}, {minus}, {min}, {plus}, {p}, {times}, {f} ---------------------------------------- (233) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (234) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 4 }-> f(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 1 }-> 1 + max(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {max}, {minus}, {min}, {plus}, {p}, {times}, {f} ---------------------------------------- (235) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: max after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (236) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 4 }-> f(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 1 }-> 1 + max(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {max}, {minus}, {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (237) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: max after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' ---------------------------------------- (238) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 4 }-> f(minus(1 + min(z - 1, z' - 1), 1 + max(z - 1, z' - 1)), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 1 }-> 1 + max(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {minus}, {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] ---------------------------------------- (239) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (240) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 5 + z' }-> f(minus(1 + min(z - 1, z' - 1), 1 + s'), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {minus}, {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] ---------------------------------------- (241) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: minus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (242) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 5 + z' }-> f(minus(1 + min(z - 1, z' - 1), 1 + s'), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {minus}, {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: ?, size: O(n^1) [z] ---------------------------------------- (243) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: minus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (244) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 5 + z' }-> f(minus(1 + min(z - 1, z' - 1), 1 + s'), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 1 }-> minus(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] ---------------------------------------- (245) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (246) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 5 + z' }-> f(minus(1 + min(z - 1, z' - 1), 1 + s'), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] ---------------------------------------- (247) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: min after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (248) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 5 + z' }-> f(minus(1 + min(z - 1, z' - 1), 1 + s'), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {min}, {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: ?, size: O(n^1) [z] ---------------------------------------- (249) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: min after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' ---------------------------------------- (250) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 5 + z' }-> f(minus(1 + min(z - 1, z' - 1), 1 + s'), plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 1 }-> 1 + min(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] ---------------------------------------- (251) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (252) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] ---------------------------------------- (253) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (254) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {plus}, {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (255) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (256) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 }-> 1 + plus(z - 1, z') :|: z - 1 >= 0, z' >= 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 2 }-> plus(z, 0) :|: z >= 0, z' = 1 + 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] ---------------------------------------- (257) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (258) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] ---------------------------------------- (259) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: p after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (260) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {p}, {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: ?, size: O(n^1) [z] ---------------------------------------- (261) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: p after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (262) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (263) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (264) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (265) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: times after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: z + 2*z*z' ---------------------------------------- (266) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {times}, {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] times: runtime: ?, size: O(n^2) [z + 2*z*z'] ---------------------------------------- (267) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: times after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 4 + z + 2*z*z' + 4*z' ---------------------------------------- (268) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 8 + s' + 2*z' }-> f(s3, plus(1 + (z - 1), times(1 + (z - 1), z' - 1))) :|: s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ 2 }-> plus(z, plus(z, times(z, z' - 2))) :|: z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] times: runtime: O(n^2) [4 + z + 2*z*z' + 4*z'], size: O(n^2) [z + 2*z*z'] ---------------------------------------- (269) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (270) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 9 + s' + 2*z*z' + 6*z' }-> f(s3, s10) :|: s9 >= 0, s9 <= 1 + (z - 1) + 2 * ((z' - 1) * (1 + (z - 1))), s10 >= 0, s10 <= 1 + (z - 1) + s9, s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ -1*z + 2*z*z' + 4*z' }-> s8 :|: s6 >= 0, s6 <= z + 2 * ((z' - 2) * z), s7 >= 0, s7 <= z + s6, s8 >= 0, s8 <= z + s7, z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] times: runtime: O(n^2) [4 + z + 2*z*z' + 4*z'], size: O(n^2) [z + 2*z*z'] ---------------------------------------- (271) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: f after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (272) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 9 + s' + 2*z*z' + 6*z' }-> f(s3, s10) :|: s9 >= 0, s9 <= 1 + (z - 1) + 2 * ((z' - 1) * (1 + (z - 1))), s10 >= 0, s10 <= 1 + (z - 1) + s9, s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ -1*z + 2*z*z' + 4*z' }-> s8 :|: s6 >= 0, s6 <= z + 2 * ((z' - 2) * z), s7 >= 0, s7 <= z + s6, s8 >= 0, s8 <= z + s7, z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] times: runtime: O(n^2) [4 + z + 2*z*z' + 4*z'], size: O(n^2) [z + 2*z*z'] f: runtime: ?, size: O(1) [0] ---------------------------------------- (273) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: f after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (274) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 9 + s' + 2*z*z' + 6*z' }-> f(s3, s10) :|: s9 >= 0, s9 <= 1 + (z - 1) + 2 * ((z' - 1) * (1 + (z - 1))), s10 >= 0, s10 <= 1 + (z - 1) + s9, s2 >= 0, s2 <= z - 1, s3 >= 0, s3 <= 1 + s2, s' >= 0, s' <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 max(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 max(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 max(z, z') -{ 2 + z' }-> 1 + s :|: s >= 0, s <= z' - 1 + (z - 1), z - 1 >= 0, z' - 1 >= 0 min(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 min(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 min(z, z') -{ 2 + z' }-> 1 + s1 :|: s1 >= 0, s1 <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 + z' }-> s'' :|: s'' >= 0, s'' <= z - 1, z - 1 >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> z :|: z >= 0, z' = 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 plus(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 plus(z, z') -{ 1 + z }-> 1 + s4 :|: s4 >= 0, s4 <= z - 1 + z', z - 1 >= 0, z' >= 0 times(z, z') -{ 3 + z }-> s5 :|: s5 >= 0, s5 <= z + 0, z >= 0, z' = 1 + 0 times(z, z') -{ -1*z + 2*z*z' + 4*z' }-> s8 :|: s6 >= 0, s6 <= z + 2 * ((z' - 2) * z), s7 >= 0, s7 <= z + s6, s8 >= 0, s8 <= z + s7, z >= 0, z' - 2 >= 0 times(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 Function symbols to be analyzed: {f} Previous analysis results are: max: runtime: O(n^1) [2 + z'], size: O(n^1) [z + z'] minus: runtime: O(n^1) [1 + z'], size: O(n^1) [z] min: runtime: O(n^1) [2 + z'], size: O(n^1) [z] plus: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] p: runtime: O(1) [1], size: O(n^1) [z] times: runtime: O(n^2) [4 + z + 2*z*z' + 4*z'], size: O(n^2) [z + 2*z*z'] f: runtime: INF, size: O(1) [0] ---------------------------------------- (275) 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: minus(v0, v1) -> null_minus [0] p(v0) -> null_p [0] f(v0, v1) -> null_f [0] min(v0, v1) -> null_min [0] max(v0, v1) -> null_max [0] plus(v0, v1) -> null_plus [0] times(v0, v1) -> null_times [0] And the following fresh constants: null_minus, null_p, null_f, null_min, null_max, null_plus, null_times ---------------------------------------- (276) 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: min(0, y) -> 0 [1] min(x, 0) -> 0 [1] min(s(x), s(y)) -> s(min(x, y)) [1] max(0, y) -> y [1] max(x, 0) -> x [1] max(s(x), s(y)) -> s(max(x, y)) [1] plus(0, y) -> y [1] plus(s(x), y) -> s(plus(x, y)) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] times(x, 0) -> 0 [1] times(x, s(y)) -> plus(x, times(x, y)) [1] p(s(x)) -> x [1] f(s(x), s(y)) -> f(minus(min(s(x), s(y)), max(s(x), s(y))), times(s(x), s(y))) [1] minus(v0, v1) -> null_minus [0] p(v0) -> null_p [0] f(v0, v1) -> null_f [0] min(v0, v1) -> null_min [0] max(v0, v1) -> null_max [0] plus(v0, v1) -> null_plus [0] times(v0, v1) -> null_times [0] The TRS has the following type information: min :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times 0 :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times s :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times max :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times plus :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times minus :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times times :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times p :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times f :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times -> null_f null_minus :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times null_p :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times null_f :: null_f null_min :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times null_max :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times null_plus :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times null_times :: 0:s:null_minus:null_p:null_min:null_max:null_plus:null_times Rewrite Strategy: INNERMOST ---------------------------------------- (277) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 null_minus => 0 null_p => 0 null_f => 0 null_min => 0 null_max => 0 null_plus => 0 null_times => 0 ---------------------------------------- (278) Obligation: Complexity RNTS consisting of the following rules: f(z, z') -{ 1 }-> f(minus(min(1 + x, 1 + y), max(1 + x, 1 + y)), times(1 + x, 1 + y)) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 max(z, z') -{ 1 }-> x :|: x >= 0, z = x, z' = 0 max(z, z') -{ 1 }-> y :|: y >= 0, z = 0, z' = y max(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 max(z, z') -{ 1 }-> 1 + max(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x min(z, z') -{ 1 }-> 0 :|: y >= 0, z = 0, z' = y min(z, z') -{ 1 }-> 0 :|: x >= 0, z = x, z' = 0 min(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 min(z, z') -{ 1 }-> 1 + min(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x minus(z, z') -{ 1 }-> x :|: x >= 0, z = x, z' = 0 minus(z, z') -{ 1 }-> minus(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 plus(z, z') -{ 1 }-> y :|: y >= 0, z = 0, z' = y plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 1 }-> 1 + plus(x, y) :|: x >= 0, y >= 0, z = 1 + x, z' = y times(z, z') -{ 1 }-> plus(x, times(x, y)) :|: z' = 1 + y, x >= 0, y >= 0, z = x times(z, z') -{ 1 }-> 0 :|: x >= 0, z = x, z' = 0 times(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 Only complete derivations are relevant for the runtime complexity.