/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^3)) proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^3). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 350 ms] (4) CpxRelTRS (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 333 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (14) CpxRNTS (15) InliningProof [UPPER BOUND(ID), 489 ms] (16) CpxRNTS (17) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxRNTS (19) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRNTS (21) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 95 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 14 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 8 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 21 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 87 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 21 ms] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 241 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 84 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 97 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 11 ms] (50) CpxRNTS (51) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 371 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 103 ms] (56) CpxRNTS (57) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 88 ms] (60) CpxRNTS (61) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (62) CpxRNTS (63) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 297 ms] (66) CpxRNTS (67) IntTrsBoundProof [UPPER BOUND(ID), 83 ms] (68) CpxRNTS (69) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 3109 ms] (72) CpxRNTS (73) IntTrsBoundProof [UPPER BOUND(ID), 2226 ms] (74) CpxRNTS (75) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 1903 ms] (78) CpxRNTS (79) IntTrsBoundProof [UPPER BOUND(ID), 1225 ms] (80) CpxRNTS (81) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 619 ms] (84) CpxRNTS (85) IntTrsBoundProof [UPPER BOUND(ID), 118 ms] (86) CpxRNTS (87) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 197 ms] (90) CpxRNTS (91) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (92) CpxRNTS (93) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 605 ms] (96) CpxRNTS (97) IntTrsBoundProof [UPPER BOUND(ID), 167 ms] (98) CpxRNTS (99) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 116 ms] (102) CpxRNTS (103) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (104) CpxRNTS (105) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 656 ms] (108) CpxRNTS (109) IntTrsBoundProof [UPPER BOUND(ID), 196 ms] (110) CpxRNTS (111) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (112) CpxRNTS (113) IntTrsBoundProof [UPPER BOUND(ID), 127 ms] (114) CpxRNTS (115) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (116) CpxRNTS (117) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (118) CpxRNTS (119) IntTrsBoundProof [UPPER BOUND(ID), 197 ms] (120) CpxRNTS (121) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (122) CpxRNTS (123) FinalProof [FINISHED, 0 ms] (124) BOUNDS(1, n^3) (125) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CpxRelTRS (127) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (128) typed CpxTrs (129) OrderProof [LOWER BOUND(ID), 0 ms] (130) typed CpxTrs (131) RewriteLemmaProof [LOWER BOUND(ID), 437 ms] (132) BEST (133) proven lower bound (134) LowerBoundPropagationProof [FINISHED, 0 ms] (135) BOUNDS(n^1, INF) (136) typed CpxTrs (137) RewriteLemmaProof [LOWER BOUND(ID), 120 ms] (138) typed CpxTrs (139) RewriteLemmaProof [LOWER BOUND(ID), 673 ms] (140) BOUNDS(1, INF) ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0), div2(x)) cond2(false, x) -> cond1(neq(x, 0), p(x)) neq(0, 0) -> false neq(0, s(x)) -> true neq(s(x), 0) -> true neq(s(x), s(y)) -> neq(x, y) even(0) -> true even(s(0)) -> false even(s(s(x))) -> even(x) div2(0) -> 0 div2(s(0)) -> 0 div2(s(s(x))) -> s(div2(x)) p(0) -> 0 p(s(x)) -> x S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(true) -> true encArg(0) -> 0 encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0), div2(x)) cond2(false, x) -> cond1(neq(x, 0), p(x)) neq(0, 0) -> false neq(0, s(x)) -> true neq(s(x), 0) -> true neq(s(x), s(y)) -> neq(x, y) even(0) -> true even(s(0)) -> false even(s(s(x))) -> even(x) div2(0) -> 0 div2(s(0)) -> 0 div2(s(s(x))) -> s(div2(x)) p(0) -> 0 p(s(x)) -> x The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(0) -> 0 encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0), div2(x)) cond2(false, x) -> cond1(neq(x, 0), p(x)) neq(0, 0) -> false neq(0, s(x)) -> true neq(s(x), 0) -> true neq(s(x), s(y)) -> neq(x, y) even(0) -> true even(s(0)) -> false even(s(s(x))) -> even(x) div2(0) -> 0 div2(s(0)) -> 0 div2(s(s(x))) -> s(div2(x)) p(0) -> 0 p(s(x)) -> x The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(0) -> 0 encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^3). The TRS R consists of the following rules: cond1(true, x) -> cond2(even(x), x) [1] cond2(true, x) -> cond1(neq(x, 0), div2(x)) [1] cond2(false, x) -> cond1(neq(x, 0), p(x)) [1] neq(0, 0) -> false [1] neq(0, s(x)) -> true [1] neq(s(x), 0) -> true [1] neq(s(x), s(y)) -> neq(x, y) [1] even(0) -> true [1] even(s(0)) -> false [1] even(s(s(x))) -> even(x) [1] div2(0) -> 0 [1] div2(s(0)) -> 0 [1] div2(s(s(x))) -> s(div2(x)) [1] p(0) -> 0 [1] p(s(x)) -> x [1] encArg(true) -> true [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(y) -> y [0] encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) [0] encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) [0] encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) [0] encArg(cons_even(x_1)) -> even(encArg(x_1)) [0] encArg(cons_div2(x_1)) -> div2(encArg(x_1)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) [0] encode_even(x_1) -> even(encArg(x_1)) [0] encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_div2(x_1) -> div2(encArg(x_1)) [0] encode_false -> false [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_y -> y [0] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: cond1(true, x) -> cond2(even(x), x) [1] cond2(true, x) -> cond1(neq(x, 0), div2(x)) [1] cond2(false, x) -> cond1(neq(x, 0), p(x)) [1] neq(0, 0) -> false [1] neq(0, s(x)) -> true [1] neq(s(x), 0) -> true [1] neq(s(x), s(y)) -> neq(x, y) [1] even(0) -> true [1] even(s(0)) -> false [1] even(s(s(x))) -> even(x) [1] div2(0) -> 0 [1] div2(s(0)) -> 0 [1] div2(s(s(x))) -> s(div2(x)) [1] p(0) -> 0 [1] p(s(x)) -> x [1] encArg(true) -> true [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(y) -> y [0] encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) [0] encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) [0] encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) [0] encArg(cons_even(x_1)) -> even(encArg(x_1)) [0] encArg(cons_div2(x_1)) -> div2(encArg(x_1)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) [0] encode_even(x_1) -> even(encArg(x_1)) [0] encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_div2(x_1) -> div2(encArg(x_1)) [0] encode_false -> false [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_y -> y [0] The TRS has the following type information: cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p 0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encArg :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p Rewrite Strategy: INNERMOST ---------------------------------------- (9) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: neq_2 div2_1 even_1 p_1 cond1_2 cond2_2 encArg_1 encode_cond1_2 encode_true encode_cond2_2 encode_even_1 encode_neq_2 encode_0 encode_div2_1 encode_false encode_p_1 encode_s_1 encode_y Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_cond1(v0, v1) -> null_encode_cond1 [0] encode_true -> null_encode_true [0] encode_cond2(v0, v1) -> null_encode_cond2 [0] encode_even(v0) -> null_encode_even [0] encode_neq(v0, v1) -> null_encode_neq [0] encode_0 -> null_encode_0 [0] encode_div2(v0) -> null_encode_div2 [0] encode_false -> null_encode_false [0] encode_p(v0) -> null_encode_p [0] encode_s(v0) -> null_encode_s [0] encode_y -> null_encode_y [0] neq(v0, v1) -> null_neq [0] div2(v0) -> null_div2 [0] even(v0) -> null_even [0] p(v0) -> null_p [0] cond1(v0, v1) -> null_cond1 [0] cond2(v0, v1) -> null_cond2 [0] And the following fresh constants: null_encArg, null_encode_cond1, null_encode_true, null_encode_cond2, null_encode_even, null_encode_neq, null_encode_0, null_encode_div2, null_encode_false, null_encode_p, null_encode_s, null_encode_y, null_neq, null_div2, null_even, null_p, null_cond1, null_cond2 ---------------------------------------- (10) 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: cond1(true, x) -> cond2(even(x), x) [1] cond2(true, x) -> cond1(neq(x, 0), div2(x)) [1] cond2(false, x) -> cond1(neq(x, 0), p(x)) [1] neq(0, 0) -> false [1] neq(0, s(x)) -> true [1] neq(s(x), 0) -> true [1] neq(s(x), s(y)) -> neq(x, y) [1] even(0) -> true [1] even(s(0)) -> false [1] even(s(s(x))) -> even(x) [1] div2(0) -> 0 [1] div2(s(0)) -> 0 [1] div2(s(s(x))) -> s(div2(x)) [1] p(0) -> 0 [1] p(s(x)) -> x [1] encArg(true) -> true [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(y) -> y [0] encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) [0] encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) [0] encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) [0] encArg(cons_even(x_1)) -> even(encArg(x_1)) [0] encArg(cons_div2(x_1)) -> div2(encArg(x_1)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) [0] encode_even(x_1) -> even(encArg(x_1)) [0] encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_div2(x_1) -> div2(encArg(x_1)) [0] encode_false -> false [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_y -> y [0] encArg(v0) -> null_encArg [0] encode_cond1(v0, v1) -> null_encode_cond1 [0] encode_true -> null_encode_true [0] encode_cond2(v0, v1) -> null_encode_cond2 [0] encode_even(v0) -> null_encode_even [0] encode_neq(v0, v1) -> null_encode_neq [0] encode_0 -> null_encode_0 [0] encode_div2(v0) -> null_encode_div2 [0] encode_false -> null_encode_false [0] encode_p(v0) -> null_encode_p [0] encode_s(v0) -> null_encode_s [0] encode_y -> null_encode_y [0] neq(v0, v1) -> null_neq [0] div2(v0) -> null_div2 [0] even(v0) -> null_even [0] p(v0) -> null_p [0] cond1(v0, v1) -> null_cond1 [0] cond2(v0, v1) -> null_cond2 [0] The TRS has the following type information: cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encArg :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encArg :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (12) 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: cond1(true, 0) -> cond2(true, 0) [2] cond1(true, s(0)) -> cond2(false, s(0)) [2] cond1(true, s(s(x'))) -> cond2(even(x'), s(s(x'))) [2] cond1(true, x) -> cond2(null_even, x) [1] cond2(true, 0) -> cond1(false, 0) [3] cond2(true, 0) -> cond1(false, null_div2) [2] cond2(true, s(0)) -> cond1(true, 0) [3] cond2(true, s(s(x1))) -> cond1(true, s(div2(x1))) [3] cond2(true, s(x'')) -> cond1(true, null_div2) [2] cond2(true, 0) -> cond1(null_neq, 0) [2] cond2(true, s(0)) -> cond1(null_neq, 0) [2] cond2(true, s(s(x2))) -> cond1(null_neq, s(div2(x2))) [2] cond2(true, x) -> cond1(null_neq, null_div2) [1] cond2(false, 0) -> cond1(false, 0) [3] cond2(false, 0) -> cond1(false, null_p) [2] cond2(false, s(x3)) -> cond1(true, x3) [3] cond2(false, s(x3)) -> cond1(true, null_p) [2] cond2(false, 0) -> cond1(null_neq, 0) [2] cond2(false, s(x4)) -> cond1(null_neq, x4) [2] cond2(false, x) -> cond1(null_neq, null_p) [1] neq(0, 0) -> false [1] neq(0, s(x)) -> true [1] neq(s(x), 0) -> true [1] neq(s(x), s(y)) -> neq(x, y) [1] even(0) -> true [1] even(s(0)) -> false [1] even(s(s(x))) -> even(x) [1] div2(0) -> 0 [1] div2(s(0)) -> 0 [1] div2(s(s(x))) -> s(div2(x)) [1] p(0) -> 0 [1] p(s(x)) -> x [1] encArg(true) -> true [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(y) -> y [0] encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) [0] encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) [0] encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) [0] encArg(cons_even(true)) -> even(true) [0] encArg(cons_even(0)) -> even(0) [0] encArg(cons_even(false)) -> even(false) [0] encArg(cons_even(s(x_1272))) -> even(s(encArg(x_1272))) [0] encArg(cons_even(y)) -> even(y) [0] encArg(cons_even(cons_cond1(x_1273, x_2116))) -> even(cond1(encArg(x_1273), encArg(x_2116))) [0] encArg(cons_even(cons_cond2(x_1274, x_2117))) -> even(cond2(encArg(x_1274), encArg(x_2117))) [0] encArg(cons_even(cons_neq(x_1275, x_2118))) -> even(neq(encArg(x_1275), encArg(x_2118))) [0] encArg(cons_even(cons_even(x_1276))) -> even(even(encArg(x_1276))) [0] encArg(cons_even(cons_div2(x_1277))) -> even(div2(encArg(x_1277))) [0] encArg(cons_even(cons_p(x_1278))) -> even(p(encArg(x_1278))) [0] encArg(cons_even(x_1)) -> even(null_encArg) [0] encArg(cons_div2(true)) -> div2(true) [0] encArg(cons_div2(0)) -> div2(0) [0] encArg(cons_div2(false)) -> div2(false) [0] encArg(cons_div2(s(x_1279))) -> div2(s(encArg(x_1279))) [0] encArg(cons_div2(y)) -> div2(y) [0] encArg(cons_div2(cons_cond1(x_1280, x_2119))) -> div2(cond1(encArg(x_1280), encArg(x_2119))) [0] encArg(cons_div2(cons_cond2(x_1281, x_2120))) -> div2(cond2(encArg(x_1281), encArg(x_2120))) [0] encArg(cons_div2(cons_neq(x_1282, x_2121))) -> div2(neq(encArg(x_1282), encArg(x_2121))) [0] encArg(cons_div2(cons_even(x_1283))) -> div2(even(encArg(x_1283))) [0] encArg(cons_div2(cons_div2(x_1284))) -> div2(div2(encArg(x_1284))) [0] encArg(cons_div2(cons_p(x_1285))) -> div2(p(encArg(x_1285))) [0] encArg(cons_div2(x_1)) -> div2(null_encArg) [0] encArg(cons_p(true)) -> p(true) [0] encArg(cons_p(0)) -> p(0) [0] encArg(cons_p(false)) -> p(false) [0] encArg(cons_p(s(x_1286))) -> p(s(encArg(x_1286))) [0] encArg(cons_p(y)) -> p(y) [0] encArg(cons_p(cons_cond1(x_1287, x_2122))) -> p(cond1(encArg(x_1287), encArg(x_2122))) [0] encArg(cons_p(cons_cond2(x_1288, x_2123))) -> p(cond2(encArg(x_1288), encArg(x_2123))) [0] encArg(cons_p(cons_neq(x_1289, x_2124))) -> p(neq(encArg(x_1289), encArg(x_2124))) [0] encArg(cons_p(cons_even(x_1290))) -> p(even(encArg(x_1290))) [0] encArg(cons_p(cons_div2(x_1291))) -> p(div2(encArg(x_1291))) [0] encArg(cons_p(cons_p(x_1292))) -> p(p(encArg(x_1292))) [0] encArg(cons_p(x_1)) -> p(null_encArg) [0] encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) [0] encode_even(true) -> even(true) [0] encode_even(0) -> even(0) [0] encode_even(false) -> even(false) [0] encode_even(s(x_1475)) -> even(s(encArg(x_1475))) [0] encode_even(y) -> even(y) [0] encode_even(cons_cond1(x_1476, x_2203)) -> even(cond1(encArg(x_1476), encArg(x_2203))) [0] encode_even(cons_cond2(x_1477, x_2204)) -> even(cond2(encArg(x_1477), encArg(x_2204))) [0] encode_even(cons_neq(x_1478, x_2205)) -> even(neq(encArg(x_1478), encArg(x_2205))) [0] encode_even(cons_even(x_1479)) -> even(even(encArg(x_1479))) [0] encode_even(cons_div2(x_1480)) -> even(div2(encArg(x_1480))) [0] encode_even(cons_p(x_1481)) -> even(p(encArg(x_1481))) [0] encode_even(x_1) -> even(null_encArg) [0] encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_div2(true) -> div2(true) [0] encode_div2(0) -> div2(0) [0] encode_div2(false) -> div2(false) [0] encode_div2(s(x_1573)) -> div2(s(encArg(x_1573))) [0] encode_div2(y) -> div2(y) [0] encode_div2(cons_cond1(x_1574, x_2245)) -> div2(cond1(encArg(x_1574), encArg(x_2245))) [0] encode_div2(cons_cond2(x_1575, x_2246)) -> div2(cond2(encArg(x_1575), encArg(x_2246))) [0] encode_div2(cons_neq(x_1576, x_2247)) -> div2(neq(encArg(x_1576), encArg(x_2247))) [0] encode_div2(cons_even(x_1577)) -> div2(even(encArg(x_1577))) [0] encode_div2(cons_div2(x_1578)) -> div2(div2(encArg(x_1578))) [0] encode_div2(cons_p(x_1579)) -> div2(p(encArg(x_1579))) [0] encode_div2(x_1) -> div2(null_encArg) [0] encode_false -> false [0] encode_p(true) -> p(true) [0] encode_p(0) -> p(0) [0] encode_p(false) -> p(false) [0] encode_p(s(x_1580)) -> p(s(encArg(x_1580))) [0] encode_p(y) -> p(y) [0] encode_p(cons_cond1(x_1581, x_2248)) -> p(cond1(encArg(x_1581), encArg(x_2248))) [0] encode_p(cons_cond2(x_1582, x_2249)) -> p(cond2(encArg(x_1582), encArg(x_2249))) [0] encode_p(cons_neq(x_1583, x_2250)) -> p(neq(encArg(x_1583), encArg(x_2250))) [0] encode_p(cons_even(x_1584)) -> p(even(encArg(x_1584))) [0] encode_p(cons_div2(x_1585)) -> p(div2(encArg(x_1585))) [0] encode_p(cons_p(x_1586)) -> p(p(encArg(x_1586))) [0] encode_p(x_1) -> p(null_encArg) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_y -> y [0] encArg(v0) -> null_encArg [0] encode_cond1(v0, v1) -> null_encode_cond1 [0] encode_true -> null_encode_true [0] encode_cond2(v0, v1) -> null_encode_cond2 [0] encode_even(v0) -> null_encode_even [0] encode_neq(v0, v1) -> null_encode_neq [0] encode_0 -> null_encode_0 [0] encode_div2(v0) -> null_encode_div2 [0] encode_false -> null_encode_false [0] encode_p(v0) -> null_encode_p [0] encode_s(v0) -> null_encode_s [0] encode_y -> null_encode_y [0] neq(v0, v1) -> null_neq [0] div2(v0) -> null_div2 [0] even(v0) -> null_even [0] p(v0) -> null_p [0] cond1(v0, v1) -> null_cond1 [0] cond2(v0, v1) -> null_cond2 [0] The TRS has the following type information: cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encArg :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 cons_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 -> true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 encode_y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encArg :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_true :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_0 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_false :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_s :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_encode_y :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_neq :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_div2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_even :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_p :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_cond1 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 null_cond2 :: true:0:false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p:null_encArg:null_encode_cond1:null_encode_true:null_encode_cond2:null_encode_even:null_encode_neq:null_encode_0:null_encode_div2:null_encode_false:null_encode_p:null_encode_s:null_encode_y:null_neq:null_div2:null_even:null_p:null_cond1:null_cond2 Rewrite Strategy: INNERMOST ---------------------------------------- (13) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: true => 2 0 => 0 false => 1 y => 3 null_encArg => 0 null_encode_cond1 => 0 null_encode_true => 0 null_encode_cond2 => 0 null_encode_even => 0 null_encode_neq => 0 null_encode_0 => 0 null_encode_div2 => 0 null_encode_false => 0 null_encode_p => 0 null_encode_s => 0 null_encode_y => 0 null_neq => 0 null_div2 => 0 null_even => 0 null_p => 0 null_cond1 => 0 null_cond2 => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(x'), 1 + (1 + x')) :|: z = 2, z' = 1 + (1 + x'), x' >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, x) :|: z = 2, z' = x, x >= 0 cond1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 cond2(z, z') -{ 3 }-> cond1(2, x3) :|: z = 1, z' = 1 + x3, x3 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' = 1 + x'', x'' >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' = 1 + x3, x3 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(x1)) :|: z = 2, x1 >= 0, z' = 1 + (1 + x1) cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, x4) :|: x4 >= 0, z = 1, z' = 1 + x4 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' = x, x >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z' = x, z = 1, x >= 0 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(x2)) :|: z = 2, z' = 1 + (1 + x2), x2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 div2(z) -{ 1 }-> 1 + div2(x) :|: x >= 0, z = 1 + (1 + x) encArg(z) -{ 0 }-> p(p(encArg(x_1292))) :|: z = 1 + (1 + x_1292), x_1292 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(x_1290))) :|: x_1290 >= 0, z = 1 + (1 + x_1290) encArg(z) -{ 0 }-> p(div2(encArg(x_1291))) :|: x_1291 >= 0, z = 1 + (1 + x_1291) encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> p(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> p(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> p(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> p(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(x_1286)) :|: z = 1 + (1 + x_1286), x_1286 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(x_1278))) :|: x_1278 >= 0, z = 1 + (1 + x_1278) encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(x_1276))) :|: z = 1 + (1 + x_1276), x_1276 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(x_1277))) :|: z = 1 + (1 + x_1277), x_1277 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(x_1272)) :|: z = 1 + (1 + x_1272), x_1272 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(x_1285))) :|: x_1285 >= 0, z = 1 + (1 + x_1285) encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(x_1283))) :|: z = 1 + (1 + x_1283), x_1283 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(x_1284))) :|: x_1284 >= 0, z = 1 + (1 + x_1284) encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(x_1279)) :|: x_1279 >= 0, z = 1 + (1 + x_1279) encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cond1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_cond2(z, z') -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cond2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_div2(z) -{ 0 }-> div2(p(encArg(x_1579))) :|: x_1579 >= 0, z = 1 + x_1579 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(x_1577))) :|: z = 1 + x_1577, x_1577 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(x_1578))) :|: x_1578 >= 0, z = 1 + x_1578 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: x_1 >= 0, z = x_1 encode_div2(z) -{ 0 }-> div2(1 + encArg(x_1573)) :|: z = 1 + x_1573, x_1573 >= 0 encode_div2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_even(z) -{ 0 }-> even(p(encArg(x_1481))) :|: z = 1 + x_1481, x_1481 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(x_1479))) :|: x_1479 >= 0, z = 1 + x_1479 encode_even(z) -{ 0 }-> even(div2(encArg(x_1480))) :|: z = 1 + x_1480, x_1480 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: x_1 >= 0, z = x_1 encode_even(z) -{ 0 }-> even(1 + encArg(x_1475)) :|: x_1475 >= 0, z = 1 + x_1475 encode_even(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_neq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_p(z) -{ 0 }-> p(p(encArg(x_1586))) :|: x_1586 >= 0, z = 1 + x_1586 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(x_1584))) :|: x_1584 >= 0, z = 1 + x_1584 encode_p(z) -{ 0 }-> p(div2(encArg(x_1585))) :|: x_1585 >= 0, z = 1 + x_1585 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(3) :|: z = 3 encode_p(z) -{ 0 }-> p(2) :|: z = 2 encode_p(z) -{ 0 }-> p(1) :|: z = 1 encode_p(z) -{ 0 }-> p(0) :|: z = 0 encode_p(z) -{ 0 }-> p(0) :|: x_1 >= 0, z = x_1 encode_p(z) -{ 0 }-> p(1 + encArg(x_1580)) :|: z = 1 + x_1580, x_1580 >= 0 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(x) :|: x >= 0, z = 1 + (1 + x) even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 neq(z, z') -{ 1 }-> neq(x, 3) :|: z' = 1 + 3, x >= 0, z = 1 + x neq(z, z') -{ 1 }-> 2 :|: z' = 1 + x, x >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: x >= 0, z = 1 + x, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (15) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(x'), 1 + (1 + x')) :|: z = 2, z' = 1 + (1 + x'), x' >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, x) :|: z = 2, z' = x, x >= 0 cond1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 cond2(z, z') -{ 3 }-> cond1(2, x3) :|: z = 1, z' = 1 + x3, x3 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' = 1 + x'', x'' >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' = 1 + x3, x3 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(x1)) :|: z = 2, x1 >= 0, z' = 1 + (1 + x1) cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, x4) :|: x4 >= 0, z = 1, z' = 1 + x4 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' = x, x >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z' = x, z = 1, x >= 0 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(x2)) :|: z = 2, z' = 1 + (1 + x2), x2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 div2(z) -{ 1 }-> 1 + div2(x) :|: x >= 0, z = 1 + (1 + x) encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(x_1292))) :|: z = 1 + (1 + x_1292), x_1292 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(x_1290))) :|: x_1290 >= 0, z = 1 + (1 + x_1290) encArg(z) -{ 0 }-> p(div2(encArg(x_1291))) :|: x_1291 >= 0, z = 1 + (1 + x_1291) encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(x_1286)) :|: z = 1 + (1 + x_1286), x_1286 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(x_1278))) :|: x_1278 >= 0, z = 1 + (1 + x_1278) encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(x_1276))) :|: z = 1 + (1 + x_1276), x_1276 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(x_1277))) :|: z = 1 + (1 + x_1277), x_1277 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(x_1272)) :|: z = 1 + (1 + x_1272), x_1272 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(x_1285))) :|: x_1285 >= 0, z = 1 + (1 + x_1285) encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(x_1283))) :|: z = 1 + (1 + x_1283), x_1283 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(x_1284))) :|: x_1284 >= 0, z = 1 + (1 + x_1284) encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(x_1279)) :|: x_1279 >= 0, z = 1 + (1 + x_1279) encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + x_1, x_1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + x_1, x_1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cond1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_cond2(z, z') -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cond2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_div2(z) -{ 0 }-> div2(p(encArg(x_1579))) :|: x_1579 >= 0, z = 1 + x_1579 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(x_1577))) :|: z = 1 + x_1577, x_1577 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(x_1578))) :|: x_1578 >= 0, z = 1 + x_1578 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: x_1 >= 0, z = x_1 encode_div2(z) -{ 0 }-> div2(1 + encArg(x_1573)) :|: z = 1 + x_1573, x_1573 >= 0 encode_div2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_even(z) -{ 0 }-> even(p(encArg(x_1481))) :|: z = 1 + x_1481, x_1481 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(x_1479))) :|: x_1479 >= 0, z = 1 + x_1479 encode_even(z) -{ 0 }-> even(div2(encArg(x_1480))) :|: z = 1 + x_1480, x_1480 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: x_1 >= 0, z = x_1 encode_even(z) -{ 0 }-> even(1 + encArg(x_1475)) :|: x_1475 >= 0, z = 1 + x_1475 encode_even(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_neq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(x_1586))) :|: x_1586 >= 0, z = 1 + x_1586 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(x_1584))) :|: x_1584 >= 0, z = 1 + x_1584 encode_p(z) -{ 0 }-> p(div2(encArg(x_1585))) :|: x_1585 >= 0, z = 1 + x_1585 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(x_1580)) :|: z = 1 + x_1580, x_1580 >= 0 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: x_1 >= 0, z = x_1, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: x_1 >= 0, z = x_1, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(x) :|: x >= 0, z = 1 + (1 + x) even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 neq(z, z') -{ 1 }-> neq(x, 3) :|: z' = 1 + 3, x >= 0, z = 1 + x neq(z, z') -{ 1 }-> 2 :|: z' = 1 + x, x >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: x >= 0, z = 1 + x, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (17) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 ---------------------------------------- (19) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { encode_y } { encode_0 } { encode_false } { div2 } { encode_true } { neq } { p } { even } { cond2, cond1 } { encArg } { encode_p } { encode_s } { encode_div2 } { encode_neq } { encode_even } { encode_cond2 } { encode_cond1 } ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_y}, {encode_0}, {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} ---------------------------------------- (21) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_y}, {encode_0}, {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_y after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_y}, {encode_0}, {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: ?, size: O(1) [3] ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_y after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_0}, {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (27) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_0}, {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_0 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_0}, {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: ?, size: O(1) [0] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_0 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (33) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_false after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_false}, {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: ?, size: O(1) [1] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_false after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (39) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: div2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {div2}, {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: ?, size: O(n^1) [z] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: div2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 }-> cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 }-> 1 + div2(z - 2) :|: z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> div2(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> div2(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> div2(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> div2(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(3) :|: z = 3 encode_div2(z) -{ 0 }-> div2(2) :|: z = 2 encode_div2(z) -{ 0 }-> div2(1) :|: z = 1 encode_div2(z) -{ 0 }-> div2(0) :|: z = 0 encode_div2(z) -{ 0 }-> div2(0) :|: z >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] ---------------------------------------- (45) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_true after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_true}, {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: ?, size: O(1) [2] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_true after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (51) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: neq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {neq}, {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: ?, size: O(1) [2] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: neq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 1 }-> neq(z - 1, 3) :|: z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] ---------------------------------------- (57) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] ---------------------------------------- (59) 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 ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {p}, {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: ?, size: O(n^1) [z] ---------------------------------------- (61) 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 ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (63) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: even after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {even}, {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: ?, size: O(1) [2] ---------------------------------------- (67) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: even after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 }-> cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(3) :|: z = 1 + 3 encArg(z) -{ 0 }-> even(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> even(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> even(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> even(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(3) :|: z = 3 encode_even(z) -{ 0 }-> even(2) :|: z = 2 encode_even(z) -{ 0 }-> even(1) :|: z = 1 encode_even(z) -{ 0 }-> even(0) :|: z = 0 encode_even(z) -{ 0 }-> even(0) :|: z >= 0 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 }-> even(z - 2) :|: z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] ---------------------------------------- (69) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 + z' }-> cond2(s12, 1 + (1 + (z' - 2))) :|: s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: cond2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed SIZE bound using CoFloCo for: cond1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 + z' }-> cond2(s12, 1 + (1 + (z' - 2))) :|: s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {cond2,cond1}, {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: ?, size: O(1) [0] cond1: runtime: ?, size: O(1) [0] ---------------------------------------- (73) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: cond2 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 45 + 69*z' + 6*z'^2 Computed RUNTIME bound using KoAT for: cond1 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 262 + 139*z' + 12*z'^2 ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 2 + z' }-> cond2(s12, 1 + (1 + (z' - 2))) :|: s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 2 }-> cond2(2, 0) :|: z = 2, z' = 0 cond1(z, z') -{ 2 }-> cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0 cond1(z, z') -{ 1 }-> cond2(0, z') :|: z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 3 }-> cond1(2, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 2, z' - 1 >= 0 cond2(z, z') -{ 2 }-> cond1(2, 0) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 }-> cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0 cond2(z, z') -{ 3 + z' }-> cond1(2, 1 + s) :|: s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 3 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(1, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 2, z' = 1 + 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 2, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, 0) :|: z = 1, z' = 0 cond2(z, z') -{ 1 }-> cond1(0, 0) :|: z = 1, z' >= 0 cond2(z, z') -{ 2 }-> cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1 cond2(z, z') -{ 2 + z' }-> cond1(0, 1 + s') :|: s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] ---------------------------------------- (75) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encArg}, {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (79) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 2208 + 5396*z + 2032*z^2 + 144*z^3 ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(neq(encArg(x_1289), encArg(x_2124))) :|: x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ 0 }-> p(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(cond2(encArg(x_1288), encArg(x_2123))) :|: x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 0 }-> p(cond1(encArg(x_1287), encArg(x_2122))) :|: x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> neq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> even(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(neq(encArg(x_1275), encArg(x_2118))) :|: x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ 0 }-> even(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> even(cond2(encArg(x_1274), encArg(x_2117))) :|: x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 0 }-> even(cond1(encArg(x_1273), encArg(x_2116))) :|: z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 0 }-> even(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(neq(encArg(x_1282), encArg(x_2121))) :|: x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ 0 }-> div2(even(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(div2(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> div2(cond2(encArg(x_1281), encArg(x_2120))) :|: z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 0 }-> div2(cond1(encArg(x_1280), encArg(x_2119))) :|: z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 0 }-> div2(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> cond2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> cond1(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 0 }-> cond1(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> cond2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> div2(p(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(neq(encArg(x_1576), encArg(x_2247))) :|: x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ 0 }-> div2(even(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> div2(cond2(encArg(x_1575), encArg(x_2246))) :|: x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 0 }-> div2(cond1(encArg(x_1574), encArg(x_2245))) :|: x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 0 }-> div2(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> even(p(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(neq(encArg(x_1478), encArg(x_2205))) :|: z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ 0 }-> even(even(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> even(cond2(encArg(x_1477), encArg(x_2204))) :|: z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 0 }-> even(cond1(encArg(x_1476), encArg(x_2203))) :|: x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 0 }-> even(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 0 }-> neq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(neq(encArg(x_1583), encArg(x_2250))) :|: z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ 0 }-> p(even(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(div2(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(cond2(encArg(x_1582), encArg(x_2249))) :|: x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 0 }-> p(cond1(encArg(x_1581), encArg(x_2248))) :|: x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] ---------------------------------------- (81) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_p after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_p}, {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (85) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_p after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 13791 + 39678*z + 18610*z^2 + 1440*z^3 ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] ---------------------------------------- (87) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_s}, {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: ?, size: O(n^1) [2 + z] ---------------------------------------- (91) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 2208 + 5396*z + 2032*z^2 + 144*z^3 ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] ---------------------------------------- (93) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encode_div2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_div2}, {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (97) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_div2 after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 13807 + 39681*z + 18610*z^2 + 1440*z^3 ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] ---------------------------------------- (99) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_neq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_neq}, {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: ?, size: O(1) [2] ---------------------------------------- (103) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_neq after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] ---------------------------------------- (105) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] ---------------------------------------- (107) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_even after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_even}, {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: ?, size: O(1) [2] ---------------------------------------- (109) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_even after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 13807 + 39681*z + 18610*z^2 + 1440*z^3 ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] ---------------------------------------- (111) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (112) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] ---------------------------------------- (113) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_cond2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_cond2}, {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] encode_cond2: runtime: ?, size: O(1) [0] ---------------------------------------- (115) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_cond2 after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 4536 + 5396*z + 2032*z^2 + 144*z^3 + 5477*z' + 2038*z'^2 + 144*z'^3 ---------------------------------------- (116) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] encode_cond2: runtime: O(n^3) [4536 + 5396*z + 2032*z^2 + 144*z^3 + 5477*z' + 2038*z'^2 + 144*z'^3], size: O(1) [0] ---------------------------------------- (117) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (118) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] encode_cond2: runtime: O(n^3) [4536 + 5396*z + 2032*z^2 + 144*z^3 + 5477*z' + 2038*z'^2 + 144*z'^3], size: O(1) [0] ---------------------------------------- (119) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_cond1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (120) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {encode_cond1} Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] encode_cond2: runtime: O(n^3) [4536 + 5396*z + 2032*z^2 + 144*z^3 + 5477*z' + 2038*z'^2 + 144*z'^3], size: O(1) [0] encode_cond1: runtime: ?, size: O(1) [0] ---------------------------------------- (121) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_cond1 after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 4829 + 5396*z + 2032*z^2 + 144*z^3 + 5559*z' + 2044*z'^2 + 144*z'^3 ---------------------------------------- (122) Obligation: Complexity RNTS consisting of the following rules: cond1(z, z') -{ 47 }-> s24 :|: s24 >= 0, s24 <= 0, z = 2, z' = 0 cond1(z, z') -{ 122 }-> s25 :|: s25 >= 0, s25 <= 0, z = 2, z' = 1 + 0 cond1(z, z') -{ 47 + 70*z' + 6*z'^2 }-> s26 :|: s26 >= 0, s26 <= 0, s12 >= 0, s12 <= 2, z = 2, z' - 2 >= 0 cond1(z, z') -{ 46 + 69*z' + 6*z'^2 }-> s27 :|: s27 >= 0, s27 <= 0, z = 2, z' >= 0 cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cond2(z, z') -{ 265 }-> s28 :|: s28 >= 0, s28 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s29 :|: s29 >= 0, s29 <= 0, z = 2, z' = 0 cond2(z, z') -{ 265 }-> s30 :|: s30 >= 0, s30 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 416 + 163*s + 12*s^2 + z' }-> s31 :|: s31 >= 0, s31 <= 0, s >= 0, s <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 264 }-> s32 :|: s32 >= 0, s32 <= 0, z = 2, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s33 :|: s33 >= 0, s33 <= 0, z = 2, z' = 0 cond2(z, z') -{ 264 }-> s34 :|: s34 >= 0, s34 <= 0, z = 2, z' = 1 + 0 cond2(z, z') -{ 415 + 163*s' + 12*s'^2 + z' }-> s35 :|: s35 >= 0, s35 <= 0, s' >= 0, s' <= z' - 2, z = 2, z' - 2 >= 0 cond2(z, z') -{ 263 }-> s36 :|: s36 >= 0, s36 <= 0, z = 2, z' >= 0 cond2(z, z') -{ 265 }-> s37 :|: s37 >= 0, s37 <= 0, z = 1, z' = 0 cond2(z, z') -{ 264 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1, z' = 0 cond2(z, z') -{ 138 + 115*z' + 12*z'^2 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1, z' - 1 >= 0 cond2(z, z') -{ 264 }-> s41 :|: s41 >= 0, s41 <= 0, z = 1, z' = 0 cond2(z, z') -{ 137 + 115*z' + 12*z'^2 }-> s42 :|: s42 >= 0, s42 <= 0, z' - 1 >= 0, z = 1 cond2(z, z') -{ 263 }-> s43 :|: s43 >= 0, s43 <= 0, z = 1, z' >= 0 cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div2(z) -{ 1 }-> 0 :|: z = 0 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 div2(z) -{ 0 }-> 0 :|: z >= 0 div2(z) -{ 1 + z }-> 1 + s'' :|: s'' >= 0, s'' <= z - 2, z - 2 >= 0 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 2, z = 1 + 2 encArg(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 2, z = 1 + 2 encArg(z) -{ -1605 + s145 + -1004*z + 1168*z^2 + 144*z^3 }-> s146 :|: s144 >= 0, s144 <= z - 2 + 1, s145 >= 0, s145 <= s144, s146 >= 0, s146 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s148 + -1004*z + 1168*z^2 + 144*z^3 }-> s149 :|: s147 >= 0, s147 <= z - 2 + 1, s148 >= 0, s148 <= s147, s149 >= 0, s149 <= s148, z - 2 >= 0 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 2, z = 1 + 0 encArg(z) -{ -1607 + -1004*z + 1168*z^2 + 144*z^3 }-> s151 :|: s150 >= 0, s150 <= z - 2 + 1, s151 >= 0, s151 <= 1 + s150, z - 2 >= 0 encArg(z) -{ 4679 + 139*s153 + 12*s153^2 + 5396*x_1287 + 2032*x_1287^2 + 144*x_1287^3 + 5396*x_2122 + 2032*x_2122^2 + 144*x_2122^3 }-> s155 :|: s152 >= 0, s152 <= x_1287 + 1, s153 >= 0, s153 <= x_2122 + 1, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= s154, x_1287 >= 0, x_2122 >= 0, z = 1 + (1 + x_1287 + x_2122) encArg(z) -{ 4462 + 69*s157 + 6*s157^2 + 5396*x_1288 + 2032*x_1288^2 + 144*x_1288^3 + 5396*x_2123 + 2032*x_2123^2 + 144*x_2123^3 }-> s159 :|: s156 >= 0, s156 <= x_1288 + 1, s157 >= 0, s157 <= x_2123 + 1, s158 >= 0, s158 <= 0, s159 >= 0, s159 <= s158, x_1288 >= 0, z = 1 + (1 + x_1288 + x_2123), x_2123 >= 0 encArg(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 2, z = 1 + 1 encArg(z) -{ 4419 + 5396*x_1289 + 2032*x_1289^2 + 144*x_1289^3 + 5396*x_2124 + 2032*x_2124^2 + 144*x_2124^3 }-> s163 :|: s160 >= 0, s160 <= x_1289 + 1, s161 >= 0, s161 <= x_2124 + 1, s162 >= 0, s162 <= 2, s163 >= 0, s163 <= s162, x_2124 >= 0, z = 1 + (1 + x_1289 + x_2124), x_1289 >= 0 encArg(z) -{ -1605 + s164 + -1004*z + 1168*z^2 + 144*z^3 }-> s166 :|: s164 >= 0, s164 <= z - 2 + 1, s165 >= 0, s165 <= 2, s166 >= 0, s166 <= s165, z - 2 >= 0 encArg(z) -{ -1605 + s167 + -1004*z + 1168*z^2 + 144*z^3 }-> s169 :|: s167 >= 0, s167 <= z - 2 + 1, s168 >= 0, s168 <= s167, s169 >= 0, s169 <= s168, z - 2 >= 0 encArg(z) -{ 5 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 3 encArg(z) -{ -1606 + -1004*z + 1168*z^2 + 144*z^3 }-> s172 :|: s170 >= 0, s170 <= z - 2 + 1, s171 >= 0, s171 <= s170, s172 >= 0, s172 <= s171, z - 2 >= 0 encArg(z) -{ 2 }-> s18 :|: s18 >= 0, s18 <= 2, z - 1 >= 0 encArg(z) -{ 2 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 1, z = 1 + 1 encArg(z) -{ 5 }-> s4 :|: s4 >= 0, s4 <= 3, z = 1 + 3 encArg(z) -{ 4678 + 139*s46 + 12*s46^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s47 :|: s45 >= 0, s45 <= x_1 + 1, s46 >= 0, s46 <= x_2 + 1, s47 >= 0, s47 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 2 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 4461 + 69*s49 + 6*s49^2 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s50 :|: s48 >= 0, s48 <= x_1 + 1, s49 >= 0, s49 <= x_2 + 1, s50 >= 0, s50 <= 0, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 4418 + 5396*x_1 + 2032*x_1^2 + 144*x_1^3 + 5396*x_2 + 2032*x_2^2 + 144*x_2^3 }-> s53 :|: s51 >= 0, s51 <= x_1 + 1, s52 >= 0, s52 <= x_2 + 1, s53 >= 0, s53 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -1605 + s54 + -1004*z + 1168*z^2 + 144*z^3 }-> s55 :|: s54 >= 0, s54 <= z - 2 + 1, s55 >= 0, s55 <= 2, z - 2 >= 0 encArg(z) -{ 4680 + 139*s57 + 12*s57^2 + s58 + 5396*x_1273 + 2032*x_1273^2 + 144*x_1273^3 + 5396*x_2116 + 2032*x_2116^2 + 144*x_2116^3 }-> s59 :|: s56 >= 0, s56 <= x_1273 + 1, s57 >= 0, s57 <= x_2116 + 1, s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 2, z = 1 + (1 + x_1273 + x_2116), x_2116 >= 0, x_1273 >= 0 encArg(z) -{ 4463 + 69*s61 + 6*s61^2 + s62 + 5396*x_1274 + 2032*x_1274^2 + 144*x_1274^3 + 5396*x_2117 + 2032*x_2117^2 + 144*x_2117^3 }-> s63 :|: s60 >= 0, s60 <= x_1274 + 1, s61 >= 0, s61 <= x_2117 + 1, s62 >= 0, s62 <= 0, s63 >= 0, s63 <= 2, x_1274 >= 0, z = 1 + (1 + x_1274 + x_2117), x_2117 >= 0 encArg(z) -{ 4420 + s66 + 5396*x_1275 + 2032*x_1275^2 + 144*x_1275^3 + 5396*x_2118 + 2032*x_2118^2 + 144*x_2118^3 }-> s67 :|: s64 >= 0, s64 <= x_1275 + 1, s65 >= 0, s65 <= x_2118 + 1, s66 >= 0, s66 <= 2, s67 >= 0, s67 <= 2, x_2118 >= 0, x_1275 >= 0, z = 1 + (1 + x_1275 + x_2118) encArg(z) -{ -1604 + s68 + s69 + -1004*z + 1168*z^2 + 144*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= 2, s70 >= 0, s70 <= 2, z - 2 >= 0 encArg(z) -{ -1604 + s71 + s72 + -1004*z + 1168*z^2 + 144*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= s71, s73 >= 0, s73 <= 2, z - 2 >= 0 encArg(z) -{ -1605 + s74 + -1004*z + 1168*z^2 + 144*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ 4680 + 139*s77 + 12*s77^2 + s78 + 5396*x_1280 + 2032*x_1280^2 + 144*x_1280^3 + 5396*x_2119 + 2032*x_2119^2 + 144*x_2119^3 }-> s79 :|: s76 >= 0, s76 <= x_1280 + 1, s77 >= 0, s77 <= x_2119 + 1, s78 >= 0, s78 <= 0, s79 >= 0, s79 <= s78, z = 1 + (1 + x_1280 + x_2119), x_1280 >= 0, x_2119 >= 0 encArg(z) -{ 4463 + 69*s81 + 6*s81^2 + s82 + 5396*x_1281 + 2032*x_1281^2 + 144*x_1281^3 + 5396*x_2120 + 2032*x_2120^2 + 144*x_2120^3 }-> s83 :|: s80 >= 0, s80 <= x_1281 + 1, s81 >= 0, s81 <= x_2120 + 1, s82 >= 0, s82 <= 0, s83 >= 0, s83 <= s82, z = 1 + (1 + x_1281 + x_2120), x_2120 >= 0, x_1281 >= 0 encArg(z) -{ 4420 + s86 + 5396*x_1282 + 2032*x_1282^2 + 144*x_1282^3 + 5396*x_2121 + 2032*x_2121^2 + 144*x_2121^3 }-> s87 :|: s84 >= 0, s84 <= x_1282 + 1, s85 >= 0, s85 <= x_2121 + 1, s86 >= 0, s86 <= 2, s87 >= 0, s87 <= s86, x_2121 >= 0, z = 1 + (1 + x_1282 + x_2121), x_1282 >= 0 encArg(z) -{ -1604 + s88 + s89 + -1004*z + 1168*z^2 + 144*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= s89, z - 2 >= 0 encArg(z) -{ -1604 + s91 + s92 + -1004*z + 1168*z^2 + 144*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= s91, s93 >= 0, s93 <= s92, z - 2 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 3, x >= 0, 3 = 1 + x encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -1300 + 1764*z + 1600*z^2 + 144*z^3 }-> 1 + s44 :|: s44 >= 0, s44 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_cond1(z, z') -{ 4678 + 139*s95 + 12*s95^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s96 :|: s94 >= 0, s94 <= z + 1, s95 >= 0, s95 <= z' + 1, s96 >= 0, s96 <= 0, z >= 0, z' >= 0 encode_cond1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_cond2(z, z') -{ 4461 + 69*s98 + 6*s98^2 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s99 :|: s97 >= 0, s97 <= z + 1, s98 >= 0, s98 <= z' + 1, s99 >= 0, s99 <= 0, z >= 0, z' >= 0 encode_cond2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_div2(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z >= 0 encode_div2(z) -{ -1297 + s123 + 1764*z + 1600*z^2 + 144*z^3 }-> s124 :|: s123 >= 0, s123 <= z - 1 + 1, s124 >= 0, s124 <= 1 + s123, z - 1 >= 0 encode_div2(z) -{ 4680 + 139*s126 + 12*s126^2 + s127 + 5396*x_1574 + 2032*x_1574^2 + 144*x_1574^3 + 5396*x_2245 + 2032*x_2245^2 + 144*x_2245^3 }-> s128 :|: s125 >= 0, s125 <= x_1574 + 1, s126 >= 0, s126 <= x_2245 + 1, s127 >= 0, s127 <= 0, s128 >= 0, s128 <= s127, x_1574 >= 0, z = 1 + x_1574 + x_2245, x_2245 >= 0 encode_div2(z) -{ 4463 + 69*s130 + 6*s130^2 + s131 + 5396*x_1575 + 2032*x_1575^2 + 144*x_1575^3 + 5396*x_2246 + 2032*x_2246^2 + 144*x_2246^3 }-> s132 :|: s129 >= 0, s129 <= x_1575 + 1, s130 >= 0, s130 <= x_2246 + 1, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= s131, x_1575 >= 0, x_2246 >= 0, z = 1 + x_1575 + x_2246 encode_div2(z) -{ 4420 + s135 + 5396*x_1576 + 2032*x_1576^2 + 144*x_1576^3 + 5396*x_2247 + 2032*x_2247^2 + 144*x_2247^3 }-> s136 :|: s133 >= 0, s133 <= x_1576 + 1, s134 >= 0, s134 <= x_2247 + 1, s135 >= 0, s135 <= 2, s136 >= 0, s136 <= s135, x_2247 >= 0, x_1576 >= 0, z = 1 + x_1576 + x_2247 encode_div2(z) -{ -1296 + s137 + s138 + 1764*z + 1600*z^2 + 144*z^3 }-> s139 :|: s137 >= 0, s137 <= z - 1 + 1, s138 >= 0, s138 <= 2, s139 >= 0, s139 <= s138, z - 1 >= 0 encode_div2(z) -{ -1296 + s140 + s141 + 1764*z + 1600*z^2 + 144*z^3 }-> s142 :|: s140 >= 0, s140 <= z - 1 + 1, s141 >= 0, s141 <= s140, s142 >= 0, s142 <= s141, z - 1 >= 0 encode_div2(z) -{ -1297 + s177 + 1764*z + 1600*z^2 + 144*z^3 }-> s178 :|: s176 >= 0, s176 <= z - 1 + 1, s177 >= 0, s177 <= s176, s178 >= 0, s178 <= s177, z - 1 >= 0 encode_div2(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 2, z = 2 encode_div2(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 0 encode_div2(z) -{ 3 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_div2(z) -{ 5 }-> s9 :|: s9 >= 0, s9 <= 3, z = 3 encode_div2(z) -{ 0 }-> 0 :|: z >= 0 encode_even(z) -{ -1297 + s100 + 1764*z + 1600*z^2 + 144*z^3 }-> s101 :|: s100 >= 0, s100 <= z - 1 + 1, s101 >= 0, s101 <= 2, z - 1 >= 0 encode_even(z) -{ 4680 + 139*s103 + 12*s103^2 + s104 + 5396*x_1476 + 2032*x_1476^2 + 144*x_1476^3 + 5396*x_2203 + 2032*x_2203^2 + 144*x_2203^3 }-> s105 :|: s102 >= 0, s102 <= x_1476 + 1, s103 >= 0, s103 <= x_2203 + 1, s104 >= 0, s104 <= 0, s105 >= 0, s105 <= 2, x_1476 >= 0, x_2203 >= 0, z = 1 + x_1476 + x_2203 encode_even(z) -{ 4463 + 69*s107 + 6*s107^2 + s108 + 5396*x_1477 + 2032*x_1477^2 + 144*x_1477^3 + 5396*x_2204 + 2032*x_2204^2 + 144*x_2204^3 }-> s109 :|: s106 >= 0, s106 <= x_1477 + 1, s107 >= 0, s107 <= x_2204 + 1, s108 >= 0, s108 <= 0, s109 >= 0, s109 <= 2, z = 1 + x_1477 + x_2204, x_2204 >= 0, x_1477 >= 0 encode_even(z) -{ 4420 + s112 + 5396*x_1478 + 2032*x_1478^2 + 144*x_1478^3 + 5396*x_2205 + 2032*x_2205^2 + 144*x_2205^3 }-> s113 :|: s110 >= 0, s110 <= x_1478 + 1, s111 >= 0, s111 <= x_2205 + 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z = 1 + x_1478 + x_2205, x_1478 >= 0, x_2205 >= 0 encode_even(z) -{ -1296 + s114 + s115 + 1764*z + 1600*z^2 + 144*z^3 }-> s116 :|: s114 >= 0, s114 <= z - 1 + 1, s115 >= 0, s115 <= 2, s116 >= 0, s116 <= 2, z - 1 >= 0 encode_even(z) -{ -1296 + s117 + s118 + 1764*z + 1600*z^2 + 144*z^3 }-> s119 :|: s117 >= 0, s117 <= z - 1 + 1, s118 >= 0, s118 <= s117, s119 >= 0, s119 <= 2, z - 1 >= 0 encode_even(z) -{ -1297 + s174 + 1764*z + 1600*z^2 + 144*z^3 }-> s175 :|: s173 >= 0, s173 <= z - 1 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= 2, z - 1 >= 0 encode_even(z) -{ 4 }-> s19 :|: s19 >= 0, s19 <= 2, z = 2 encode_even(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 2, z = 0 encode_even(z) -{ 3 }-> s21 :|: s21 >= 0, s21 <= 2, z = 1 encode_even(z) -{ 5 }-> s22 :|: s22 >= 0, s22 <= 2, z = 3 encode_even(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 2, z >= 0 encode_even(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_neq(z, z') -{ 4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3 }-> s122 :|: s120 >= 0, s120 <= z + 1, s121 >= 0, s121 <= z' + 1, s122 >= 0, s122 <= 2, z >= 0, z' >= 0 encode_neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_p(z) -{ -1299 + 1764*z + 1600*z^2 + 144*z^3 }-> s180 :|: s179 >= 0, s179 <= z - 1 + 1, s180 >= 0, s180 <= 1 + s179, z - 1 >= 0 encode_p(z) -{ 4679 + 139*s182 + 12*s182^2 + 5396*x_1581 + 2032*x_1581^2 + 144*x_1581^3 + 5396*x_2248 + 2032*x_2248^2 + 144*x_2248^3 }-> s184 :|: s181 >= 0, s181 <= x_1581 + 1, s182 >= 0, s182 <= x_2248 + 1, s183 >= 0, s183 <= 0, s184 >= 0, s184 <= s183, x_1581 >= 0, x_2248 >= 0, z = 1 + x_1581 + x_2248 encode_p(z) -{ 4462 + 69*s186 + 6*s186^2 + 5396*x_1582 + 2032*x_1582^2 + 144*x_1582^3 + 5396*x_2249 + 2032*x_2249^2 + 144*x_2249^3 }-> s188 :|: s185 >= 0, s185 <= x_1582 + 1, s186 >= 0, s186 <= x_2249 + 1, s187 >= 0, s187 <= 0, s188 >= 0, s188 <= s187, x_1582 >= 0, z = 1 + x_1582 + x_2249, x_2249 >= 0 encode_p(z) -{ 4419 + 5396*x_1583 + 2032*x_1583^2 + 144*x_1583^3 + 5396*x_2250 + 2032*x_2250^2 + 144*x_2250^3 }-> s192 :|: s189 >= 0, s189 <= x_1583 + 1, s190 >= 0, s190 <= x_2250 + 1, s191 >= 0, s191 <= 2, s192 >= 0, s192 <= s191, z = 1 + x_1583 + x_2250, x_2250 >= 0, x_1583 >= 0 encode_p(z) -{ -1297 + s193 + 1764*z + 1600*z^2 + 144*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 2, s195 >= 0, s195 <= s194, z - 1 >= 0 encode_p(z) -{ -1297 + s196 + 1764*z + 1600*z^2 + 144*z^3 }-> s198 :|: s196 >= 0, s196 <= z - 1 + 1, s197 >= 0, s197 <= s196, s198 >= 0, s198 <= s197, z - 1 >= 0 encode_p(z) -{ -1298 + 1764*z + 1600*z^2 + 144*z^3 }-> s201 :|: s199 >= 0, s199 <= z - 1 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= s200, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 3, x >= 0, 3 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 3, v0 >= 0, 3 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 2208 + 5396*z + 2032*z^2 + 144*z^3 }-> 1 + s143 :|: s143 >= 0, s143 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_y -{ 0 }-> 3 :|: encode_y -{ 0 }-> 0 :|: even(z) -{ 1 + z }-> s13 :|: s13 >= 0, s13 <= 2, z - 2 >= 0 even(z) -{ 1 }-> 2 :|: z = 0 even(z) -{ 1 }-> 1 :|: z = 1 + 0 even(z) -{ 0 }-> 0 :|: z >= 0 neq(z, z') -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z' = 1 + 3, z - 1 >= 0 neq(z, z') -{ 1 }-> 2 :|: z' - 1 >= 0, z = 0 neq(z, z') -{ 1 }-> 2 :|: z - 1 >= 0, z' = 0 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 neq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: Previous analysis results are: encode_y: runtime: O(1) [0], size: O(1) [3] encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] div2: runtime: O(n^1) [2 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n^1) [z] even: runtime: O(n^1) [2 + z], size: O(1) [2] cond2: runtime: O(n^2) [45 + 69*z' + 6*z'^2], size: O(1) [0] cond1: runtime: O(n^2) [262 + 139*z' + 12*z'^2], size: O(1) [0] encArg: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [13791 + 39678*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [2208 + 5396*z + 2032*z^2 + 144*z^3], size: O(n^1) [2 + z] encode_div2: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(n^1) [1 + z] encode_neq: runtime: O(n^3) [4418 + 5396*z + 2032*z^2 + 144*z^3 + 5396*z' + 2032*z'^2 + 144*z'^3], size: O(1) [2] encode_even: runtime: O(n^3) [13807 + 39681*z + 18610*z^2 + 1440*z^3], size: O(1) [2] encode_cond2: runtime: O(n^3) [4536 + 5396*z + 2032*z^2 + 144*z^3 + 5477*z' + 2038*z'^2 + 144*z'^3], size: O(1) [0] encode_cond1: runtime: O(n^3) [4829 + 5396*z + 2032*z^2 + 144*z^3 + 5559*z' + 2044*z'^2 + 144*z'^3], size: O(1) [0] ---------------------------------------- (123) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (124) BOUNDS(1, n^3) ---------------------------------------- (125) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (126) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0'), div2(x)) cond2(false, x) -> cond1(neq(x, 0'), p(x)) neq(0', 0') -> false neq(0', s(x)) -> true neq(s(x), 0') -> true neq(s(x), s(y)) -> neq(x, y) even(0') -> true even(s(0')) -> false even(s(s(x))) -> even(x) div2(0') -> 0' div2(s(0')) -> 0' div2(s(s(x))) -> s(div2(x)) p(0') -> 0' p(s(x)) -> x The (relative) TRS S consists of the following rules: encArg(true) -> true encArg(0') -> 0' encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Rewrite Strategy: INNERMOST ---------------------------------------- (127) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (128) Obligation: Innermost TRS: Rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0'), div2(x)) cond2(false, x) -> cond1(neq(x, 0'), p(x)) neq(0', 0') -> false neq(0', s(x)) -> true neq(s(x), 0') -> true neq(s(x), s(y)) -> neq(x, y) even(0') -> true even(s(0')) -> false even(s(s(x))) -> even(x) div2(0') -> 0' div2(s(0')) -> 0' div2(s(s(x))) -> s(div2(x)) p(0') -> 0' p(s(x)) -> x encArg(true) -> true encArg(0') -> 0' encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Types: cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p 0' :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encArg :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_0 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p hole_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p1_3 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3 :: Nat -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p ---------------------------------------- (129) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: cond1, cond2, even, neq, div2, encArg They will be analysed ascendingly in the following order: cond1 = cond2 even < cond1 cond1 < encArg neq < cond2 div2 < cond2 cond2 < encArg even < encArg neq < encArg div2 < encArg ---------------------------------------- (130) Obligation: Innermost TRS: Rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0'), div2(x)) cond2(false, x) -> cond1(neq(x, 0'), p(x)) neq(0', 0') -> false neq(0', s(x)) -> true neq(s(x), 0') -> true neq(s(x), s(y)) -> neq(x, y) even(0') -> true even(s(0')) -> false even(s(s(x))) -> even(x) div2(0') -> 0' div2(s(0')) -> 0' div2(s(s(x))) -> s(div2(x)) p(0') -> 0' p(s(x)) -> x encArg(true) -> true encArg(0') -> 0' encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Types: cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p 0' :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encArg :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_0 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p hole_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p1_3 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3 :: Nat -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p Generator Equations: gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(0) <=> true gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(x, 1)) <=> s(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(x)) The following defined symbols remain to be analysed: even, cond1, cond2, neq, div2, encArg They will be analysed ascendingly in the following order: cond1 = cond2 even < cond1 cond1 < encArg neq < cond2 div2 < cond2 cond2 < encArg even < encArg neq < encArg div2 < encArg ---------------------------------------- (131) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: even(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n4_3)))) -> *3_3, rt in Omega(n4_3) Induction Base: even(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, 0)))) Induction Step: even(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, +(n4_3, 1))))) ->_R^Omega(1) even(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n4_3)))) ->_IH *3_3 We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (132) Complex Obligation (BEST) ---------------------------------------- (133) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0'), div2(x)) cond2(false, x) -> cond1(neq(x, 0'), p(x)) neq(0', 0') -> false neq(0', s(x)) -> true neq(s(x), 0') -> true neq(s(x), s(y)) -> neq(x, y) even(0') -> true even(s(0')) -> false even(s(s(x))) -> even(x) div2(0') -> 0' div2(s(0')) -> 0' div2(s(s(x))) -> s(div2(x)) p(0') -> 0' p(s(x)) -> x encArg(true) -> true encArg(0') -> 0' encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Types: cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p 0' :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encArg :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_0 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p hole_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p1_3 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3 :: Nat -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p Generator Equations: gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(0) <=> true gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(x, 1)) <=> s(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(x)) The following defined symbols remain to be analysed: even, cond1, cond2, neq, div2, encArg They will be analysed ascendingly in the following order: cond1 = cond2 even < cond1 cond1 < encArg neq < cond2 div2 < cond2 cond2 < encArg even < encArg neq < encArg div2 < encArg ---------------------------------------- (134) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (135) BOUNDS(n^1, INF) ---------------------------------------- (136) Obligation: Innermost TRS: Rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0'), div2(x)) cond2(false, x) -> cond1(neq(x, 0'), p(x)) neq(0', 0') -> false neq(0', s(x)) -> true neq(s(x), 0') -> true neq(s(x), s(y)) -> neq(x, y) even(0') -> true even(s(0')) -> false even(s(s(x))) -> even(x) div2(0') -> 0' div2(s(0')) -> 0' div2(s(s(x))) -> s(div2(x)) p(0') -> 0' p(s(x)) -> x encArg(true) -> true encArg(0') -> 0' encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Types: cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p 0' :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encArg :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_0 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p hole_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p1_3 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3 :: Nat -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p Lemmas: even(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n4_3)))) -> *3_3, rt in Omega(n4_3) Generator Equations: gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(0) <=> true gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(x, 1)) <=> s(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(x)) The following defined symbols remain to be analysed: neq, cond1, cond2, div2, encArg They will be analysed ascendingly in the following order: cond1 = cond2 cond1 < encArg neq < cond2 div2 < cond2 cond2 < encArg neq < encArg div2 < encArg ---------------------------------------- (137) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: div2(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n783_3)))) -> *3_3, rt in Omega(n783_3) Induction Base: div2(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, 0)))) Induction Step: div2(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, +(n783_3, 1))))) ->_R^Omega(1) s(div2(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n783_3))))) ->_IH s(*3_3) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (138) Obligation: Innermost TRS: Rules: cond1(true, x) -> cond2(even(x), x) cond2(true, x) -> cond1(neq(x, 0'), div2(x)) cond2(false, x) -> cond1(neq(x, 0'), p(x)) neq(0', 0') -> false neq(0', s(x)) -> true neq(s(x), 0') -> true neq(s(x), s(y)) -> neq(x, y) even(0') -> true even(s(0')) -> false even(s(s(x))) -> even(x) div2(0') -> 0' div2(s(0')) -> 0' div2(s(s(x))) -> s(div2(x)) p(0') -> 0' p(s(x)) -> x encArg(true) -> true encArg(0') -> 0' encArg(false) -> false encArg(s(x_1)) -> s(encArg(x_1)) encArg(y) -> y encArg(cons_cond1(x_1, x_2)) -> cond1(encArg(x_1), encArg(x_2)) encArg(cons_cond2(x_1, x_2)) -> cond2(encArg(x_1), encArg(x_2)) encArg(cons_neq(x_1, x_2)) -> neq(encArg(x_1), encArg(x_2)) encArg(cons_even(x_1)) -> even(encArg(x_1)) encArg(cons_div2(x_1)) -> div2(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encode_cond1(x_1, x_2) -> cond1(encArg(x_1), encArg(x_2)) encode_true -> true encode_cond2(x_1, x_2) -> cond2(encArg(x_1), encArg(x_2)) encode_even(x_1) -> even(encArg(x_1)) encode_neq(x_1, x_2) -> neq(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_div2(x_1) -> div2(encArg(x_1)) encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_y -> y Types: cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p 0' :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encArg :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p cons_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond1 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_true :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_cond2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_even :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_neq :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_0 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_div2 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_false :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_p :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_s :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p encode_y :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p hole_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p1_3 :: true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3 :: Nat -> true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p Lemmas: even(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n4_3)))) -> *3_3, rt in Omega(n4_3) div2(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(2, *(2, n783_3)))) -> *3_3, rt in Omega(n783_3) Generator Equations: gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(0) <=> true gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(x, 1)) <=> s(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(x)) The following defined symbols remain to be analysed: cond2, cond1, encArg They will be analysed ascendingly in the following order: cond1 = cond2 cond1 < encArg cond2 < encArg ---------------------------------------- (139) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(n3149_3)) -> gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(n3149_3), rt in Omega(0) Induction Base: encArg(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(0)) ->_R^Omega(0) true Induction Step: encArg(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(+(n3149_3, 1))) ->_R^Omega(0) s(encArg(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(n3149_3))) ->_IH s(gen_true:0':false:s:y:cons_cond1:cons_cond2:cons_neq:cons_even:cons_div2:cons_p2_3(c3150_3)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (140) BOUNDS(1, INF)