WORST_CASE(?,O(n^1)) proof of input_Sx5vsf6yRG.trs # AProVE Commit ID: 5b976082cb74a395683ed8cc7acf94bd611ab29f fuhs 20230524 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1). (0) CpxTRS (1) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (2) CdtProblem (3) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (4) CdtProblem (5) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CdtProblem (7) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CdtProblem (9) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxRelTRS (11) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CpxWeightedTrs (13) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (14) CpxTypedWeightedTrs (15) CompletionProof [UPPER BOUND(ID), 0 ms] (16) CpxTypedWeightedCompleteTrs (17) NarrowingProof [BOTH BOUNDS(ID, ID), 57 ms] (18) CpxTypedWeightedCompleteTrs (19) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (20) CpxRNTS (21) InliningProof [UPPER BOUND(ID), 6151 ms] (22) CpxRNTS (23) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CpxRNTS (25) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 220 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 104 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 39.1 s] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 18.8 s] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 39 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 22 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 99 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 14 ms] (50) CpxRNTS (51) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 238 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (56) CpxRNTS (57) FinalProof [FINISHED, 0 ms] (58) BOUNDS(1, n^1) ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: cond1(true, x, y) -> cond2(gr(x, 0), x, y) cond2(true, x, y) -> cond1(or(gr(x, 0), gr(y, 0)), p(x), y) cond2(false, x, y) -> cond3(gr(y, 0), x, y) cond3(true, x, y) -> cond1(or(gr(x, 0), gr(y, 0)), x, p(y)) cond3(false, x, y) -> cond1(or(gr(x, 0), gr(y, 0)), x, y) gr(0, x) -> false gr(s(x), 0) -> true gr(s(x), s(y)) -> gr(x, y) or(false, false) -> false or(true, x) -> true or(x, true) -> true p(0) -> 0 p(s(x)) -> x S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (2) Obligation: Complexity Dependency Tuples Problem Rules: cond1(true, z0, z1) -> cond2(gr(z0, 0), z0, z1) cond2(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1) cond2(false, z0, z1) -> cond3(gr(z1, 0), z0, z1) cond3(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)) cond3(false, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, z1) gr(0, z0) -> false gr(s(z0), 0) -> true gr(s(z0), s(z1)) -> gr(z0, z1) or(false, false) -> false or(true, z0) -> true or(z0, true) -> true p(0) -> 0 p(s(z0)) -> z0 Tuples: COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1), GR(z0, 0)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), P(z0)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1), GR(z1, 0)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), P(z1)) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) GR(0, z0) -> c10 GR(s(z0), 0) -> c11 GR(s(z0), s(z1)) -> c12(GR(z0, z1)) OR(false, false) -> c13 OR(true, z0) -> c14 OR(z0, true) -> c15 P(0) -> c16 P(s(z0)) -> c17 S tuples: COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1), GR(z0, 0)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), P(z0)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1), GR(z1, 0)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), P(z1)) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) GR(0, z0) -> c10 GR(s(z0), 0) -> c11 GR(s(z0), s(z1)) -> c12(GR(z0, z1)) OR(false, false) -> c13 OR(true, z0) -> c14 OR(z0, true) -> c15 P(0) -> c16 P(s(z0)) -> c17 K tuples:none Defined Rule Symbols: cond1_3, cond2_3, cond3_3, gr_2, or_2, p_1 Defined Pair Symbols: COND1_3, COND2_3, COND3_3, GR_2, OR_2, P_1 Compound Symbols: c_2, c1_3, c2_3, c3_2, c4_2, c5_3, c6_3, c7_2, c8_3, c9_3, c10, c11, c12_1, c13, c14, c15, c16, c17 ---------------------------------------- (3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing nodes: OR(true, z0) -> c14 GR(0, z0) -> c10 OR(false, false) -> c13 GR(s(z0), 0) -> c11 P(s(z0)) -> c17 P(0) -> c16 OR(z0, true) -> c15 ---------------------------------------- (4) Obligation: Complexity Dependency Tuples Problem Rules: cond1(true, z0, z1) -> cond2(gr(z0, 0), z0, z1) cond2(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1) cond2(false, z0, z1) -> cond3(gr(z1, 0), z0, z1) cond3(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)) cond3(false, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, z1) gr(0, z0) -> false gr(s(z0), 0) -> true gr(s(z0), s(z1)) -> gr(z0, z1) or(false, false) -> false or(true, z0) -> true or(z0, true) -> true p(0) -> 0 p(s(z0)) -> z0 Tuples: COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1), GR(z0, 0)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), P(z0)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1), GR(z1, 0)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), P(z1)) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) GR(s(z0), s(z1)) -> c12(GR(z0, z1)) S tuples: COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1), GR(z0, 0)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1), P(z0)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1), GR(z1, 0)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)), P(z1)) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z0, 0)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1), OR(gr(z0, 0), gr(z1, 0)), GR(z1, 0)) GR(s(z0), s(z1)) -> c12(GR(z0, z1)) K tuples:none Defined Rule Symbols: cond1_3, cond2_3, cond3_3, gr_2, or_2, p_1 Defined Pair Symbols: COND1_3, COND2_3, COND3_3, GR_2 Compound Symbols: c_2, c1_3, c2_3, c3_2, c4_2, c5_3, c6_3, c7_2, c8_3, c9_3, c12_1 ---------------------------------------- (5) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 16 trailing tuple parts ---------------------------------------- (6) Obligation: Complexity Dependency Tuples Problem Rules: cond1(true, z0, z1) -> cond2(gr(z0, 0), z0, z1) cond2(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1) cond2(false, z0, z1) -> cond3(gr(z1, 0), z0, z1) cond3(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)) cond3(false, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, z1) gr(0, z0) -> false gr(s(z0), 0) -> true gr(s(z0), s(z1)) -> gr(z0, z1) or(false, false) -> false or(true, z0) -> true or(z0, true) -> true p(0) -> 0 p(s(z0)) -> z0 Tuples: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) S tuples: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) K tuples:none Defined Rule Symbols: cond1_3, cond2_3, cond3_3, gr_2, or_2, p_1 Defined Pair Symbols: GR_2, COND1_3, COND2_3, COND3_3 Compound Symbols: c12_1, c_1, c1_1, c2_1, c3_1, c4_1, c5_1, c6_1, c7_1, c8_1, c9_1 ---------------------------------------- (7) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: cond1(true, z0, z1) -> cond2(gr(z0, 0), z0, z1) cond2(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1) cond2(false, z0, z1) -> cond3(gr(z1, 0), z0, z1) cond3(true, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)) cond3(false, z0, z1) -> cond1(or(gr(z0, 0), gr(z1, 0)), z0, z1) gr(s(z0), s(z1)) -> gr(z0, z1) ---------------------------------------- (8) Obligation: Complexity Dependency Tuples Problem Rules: gr(0, z0) -> false gr(s(z0), 0) -> true or(false, false) -> false or(true, z0) -> true or(z0, true) -> true p(0) -> 0 p(s(z0)) -> z0 Tuples: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) S tuples: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) K tuples:none Defined Rule Symbols: gr_2, or_2, p_1 Defined Pair Symbols: GR_2, COND1_3, COND2_3, COND3_3 Compound Symbols: c12_1, c_1, c1_1, c2_1, c3_1, c4_1, c5_1, c6_1, c7_1, c8_1, c9_1 ---------------------------------------- (9) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (10) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) The (relative) TRS S consists of the following rules: gr(0, z0) -> false gr(s(z0), 0) -> true or(false, false) -> false or(true, z0) -> true or(z0, true) -> true p(0) -> 0 p(s(z0)) -> z0 Rewrite Strategy: INNERMOST ---------------------------------------- (11) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (12) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) [1] COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) [1] COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) [1] COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) [1] COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) [1] gr(0, z0) -> false [0] gr(s(z0), 0) -> true [0] or(false, false) -> false [0] or(true, z0) -> true [0] or(z0, true) -> true [0] p(0) -> 0 [0] p(s(z0)) -> z0 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (13) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (14) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) [1] COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) [1] COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) [1] COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) [1] COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) [1] gr(0, z0) -> false [0] gr(s(z0), 0) -> true [0] or(false, false) -> false [0] or(true, z0) -> true [0] or(z0, true) -> true [0] p(0) -> 0 [0] p(s(z0)) -> z0 [0] The TRS has the following type information: GR :: s:0 -> s:0 -> c12 s :: s:0 -> s:0 c12 :: c12 -> c12 COND1 :: true:false -> s:0 -> s:0 -> c true :: true:false c :: c1:c2:c3:c4 -> c COND2 :: true:false -> s:0 -> s:0 -> c1:c2:c3:c4 gr :: s:0 -> s:0 -> true:false 0 :: s:0 c1 :: c -> c1:c2:c3:c4 or :: true:false -> true:false -> true:false p :: s:0 -> s:0 c2 :: c -> c1:c2:c3:c4 c3 :: c -> c1:c2:c3:c4 false :: true:false c4 :: c5:c6:c7:c8:c9 -> c1:c2:c3:c4 COND3 :: true:false -> s:0 -> s:0 -> c5:c6:c7:c8:c9 c5 :: c -> c5:c6:c7:c8:c9 c6 :: c -> c5:c6:c7:c8:c9 c7 :: c -> c5:c6:c7:c8:c9 c8 :: c -> c5:c6:c7:c8:c9 c9 :: c -> c5:c6:c7:c8:c9 Rewrite Strategy: INNERMOST ---------------------------------------- (15) 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: GR_2 COND1_3 COND2_3 COND3_3 (c) The following functions are completely defined: gr_2 or_2 p_1 Due to the following rules being added: gr(v0, v1) -> null_gr [0] or(v0, v1) -> null_or [0] p(v0) -> 0 [0] And the following fresh constants: null_gr, null_or, const, const1, const2, const3 ---------------------------------------- (16) 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: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) [1] COND1(true, z0, z1) -> c(COND2(gr(z0, 0), z0, z1)) [1] COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(false, z0, z1) -> c4(COND3(gr(z1, 0), z0, z1)) [1] COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(false, z0, z1) -> c8(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) [1] COND3(false, z0, z1) -> c9(COND1(or(gr(z0, 0), gr(z1, 0)), z0, z1)) [1] gr(0, z0) -> false [0] gr(s(z0), 0) -> true [0] or(false, false) -> false [0] or(true, z0) -> true [0] or(z0, true) -> true [0] p(0) -> 0 [0] p(s(z0)) -> z0 [0] gr(v0, v1) -> null_gr [0] or(v0, v1) -> null_or [0] p(v0) -> 0 [0] The TRS has the following type information: GR :: s:0 -> s:0 -> c12 s :: s:0 -> s:0 c12 :: c12 -> c12 COND1 :: true:false:null_gr:null_or -> s:0 -> s:0 -> c true :: true:false:null_gr:null_or c :: c1:c2:c3:c4 -> c COND2 :: true:false:null_gr:null_or -> s:0 -> s:0 -> c1:c2:c3:c4 gr :: s:0 -> s:0 -> true:false:null_gr:null_or 0 :: s:0 c1 :: c -> c1:c2:c3:c4 or :: true:false:null_gr:null_or -> true:false:null_gr:null_or -> true:false:null_gr:null_or p :: s:0 -> s:0 c2 :: c -> c1:c2:c3:c4 c3 :: c -> c1:c2:c3:c4 false :: true:false:null_gr:null_or c4 :: c5:c6:c7:c8:c9 -> c1:c2:c3:c4 COND3 :: true:false:null_gr:null_or -> s:0 -> s:0 -> c5:c6:c7:c8:c9 c5 :: c -> c5:c6:c7:c8:c9 c6 :: c -> c5:c6:c7:c8:c9 c7 :: c -> c5:c6:c7:c8:c9 c8 :: c -> c5:c6:c7:c8:c9 c9 :: c -> c5:c6:c7:c8:c9 null_gr :: true:false:null_gr:null_or null_or :: true:false:null_gr:null_or const :: c12 const1 :: c const2 :: c1:c2:c3:c4 const3 :: c5:c6:c7:c8:c9 Rewrite Strategy: INNERMOST ---------------------------------------- (17) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (18) 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: GR(s(z0), s(z1)) -> c12(GR(z0, z1)) [1] COND1(true, 0, z1) -> c(COND2(false, 0, z1)) [1] COND1(true, s(z0'), z1) -> c(COND2(true, s(z0'), z1)) [1] COND1(true, z0, z1) -> c(COND2(null_gr, z0, z1)) [1] COND2(true, z0, z1) -> c1(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c2(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(true, z0, z1) -> c3(COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1)) [1] COND2(false, z0, 0) -> c4(COND3(false, z0, 0)) [1] COND2(false, z0, s(z021)) -> c4(COND3(true, z0, s(z021))) [1] COND2(false, z0, z1) -> c4(COND3(null_gr, z0, z1)) [1] COND3(true, z0, z1) -> c5(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c6(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(true, z0, z1) -> c7(COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1))) [1] COND3(false, 0, 0) -> c8(COND1(or(false, false), 0, 0)) [1] COND3(false, 0, s(z044)) -> c8(COND1(or(false, true), 0, s(z044))) [1] COND3(false, 0, z1) -> c8(COND1(or(false, null_gr), 0, z1)) [1] COND3(false, s(z043), 0) -> c8(COND1(or(true, false), s(z043), 0)) [1] COND3(false, s(z043), s(z045)) -> c8(COND1(or(true, true), s(z043), s(z045))) [1] COND3(false, s(z043), z1) -> c8(COND1(or(true, null_gr), s(z043), z1)) [1] COND3(false, z0, 0) -> c8(COND1(or(null_gr, false), z0, 0)) [1] COND3(false, z0, s(z046)) -> c8(COND1(or(null_gr, true), z0, s(z046))) [1] COND3(false, z0, z1) -> c8(COND1(or(null_gr, null_gr), z0, z1)) [1] COND3(false, 0, 0) -> c9(COND1(or(false, false), 0, 0)) [1] COND3(false, 0, s(z048)) -> c9(COND1(or(false, true), 0, s(z048))) [1] COND3(false, 0, z1) -> c9(COND1(or(false, null_gr), 0, z1)) [1] COND3(false, s(z047), 0) -> c9(COND1(or(true, false), s(z047), 0)) [1] COND3(false, s(z047), s(z049)) -> c9(COND1(or(true, true), s(z047), s(z049))) [1] COND3(false, s(z047), z1) -> c9(COND1(or(true, null_gr), s(z047), z1)) [1] COND3(false, z0, 0) -> c9(COND1(or(null_gr, false), z0, 0)) [1] COND3(false, z0, s(z050)) -> c9(COND1(or(null_gr, true), z0, s(z050))) [1] COND3(false, z0, z1) -> c9(COND1(or(null_gr, null_gr), z0, z1)) [1] gr(0, z0) -> false [0] gr(s(z0), 0) -> true [0] or(false, false) -> false [0] or(true, z0) -> true [0] or(z0, true) -> true [0] p(0) -> 0 [0] p(s(z0)) -> z0 [0] gr(v0, v1) -> null_gr [0] or(v0, v1) -> null_or [0] p(v0) -> 0 [0] The TRS has the following type information: GR :: s:0 -> s:0 -> c12 s :: s:0 -> s:0 c12 :: c12 -> c12 COND1 :: true:false:null_gr:null_or -> s:0 -> s:0 -> c true :: true:false:null_gr:null_or c :: c1:c2:c3:c4 -> c COND2 :: true:false:null_gr:null_or -> s:0 -> s:0 -> c1:c2:c3:c4 gr :: s:0 -> s:0 -> true:false:null_gr:null_or 0 :: s:0 c1 :: c -> c1:c2:c3:c4 or :: true:false:null_gr:null_or -> true:false:null_gr:null_or -> true:false:null_gr:null_or p :: s:0 -> s:0 c2 :: c -> c1:c2:c3:c4 c3 :: c -> c1:c2:c3:c4 false :: true:false:null_gr:null_or c4 :: c5:c6:c7:c8:c9 -> c1:c2:c3:c4 COND3 :: true:false:null_gr:null_or -> s:0 -> s:0 -> c5:c6:c7:c8:c9 c5 :: c -> c5:c6:c7:c8:c9 c6 :: c -> c5:c6:c7:c8:c9 c7 :: c -> c5:c6:c7:c8:c9 c8 :: c -> c5:c6:c7:c8:c9 c9 :: c -> c5:c6:c7:c8:c9 null_gr :: true:false:null_gr:null_or null_or :: true:false:null_gr:null_or const :: c12 const1 :: c const2 :: c1:c2:c3:c4 const3 :: c5:c6:c7:c8:c9 Rewrite Strategy: INNERMOST ---------------------------------------- (19) 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 null_gr => 0 null_or => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + z0', z1) :|: z = 2, z1 >= 0, z0' >= 0, z' = 1 + z0', z'' = z1 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z1) :|: z = 2, z1 >= 0, z' = 0, z'' = z1 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z0, 1 + z021) :|: z021 >= 0, z = 1, z0 >= 0, z'' = 1 + z021, z' = z0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z0, 0) :|: z'' = 0, z = 1, z0 >= 0, z' = z0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z0, z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(or(gr(z0, 0), gr(z1, 0)), p(z0), z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(gr(z0, 0), gr(z1, 0)), z0, p(z1)) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(2, 2), 1 + z043, 1 + z045) :|: z' = 1 + z043, z043 >= 0, z045 >= 0, z = 1, z'' = 1 + z045 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(2, 2), 1 + z047, 1 + z049) :|: z049 >= 0, z' = 1 + z047, z = 1, z'' = 1 + z049, z047 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(2, 1), 1 + z043, 0) :|: z'' = 0, z' = 1 + z043, z043 >= 0, z = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(2, 1), 1 + z047, 0) :|: z'' = 0, z' = 1 + z047, z = 1, z047 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(2, 0), 1 + z043, z1) :|: z' = 1 + z043, z1 >= 0, z043 >= 0, z = 1, z'' = z1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(2, 0), 1 + z047, z1) :|: z1 >= 0, z' = 1 + z047, z = 1, z'' = z1, z047 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(1, 2), 0, 1 + z044) :|: z = 1, z044 >= 0, z'' = 1 + z044, z' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(1, 2), 0, 1 + z048) :|: z = 1, z048 >= 0, z'' = 1 + z048, z' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(1, 1), 0, 0) :|: z'' = 0, z = 1, z' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(1, 0), 0, z1) :|: z1 >= 0, z = 1, z' = 0, z'' = z1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(0, 2), z0, 1 + z046) :|: z046 >= 0, z = 1, z0 >= 0, z'' = 1 + z046, z' = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(0, 2), z0, 1 + z050) :|: z'' = 1 + z050, z = 1, z0 >= 0, z' = z0, z050 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(0, 1), z0, 0) :|: z'' = 0, z = 1, z0 >= 0, z' = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(or(0, 0), z0, z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 GR(z, z') -{ 1 }-> 1 + GR(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 gr(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z0 >= 0, z = 0, z' = z0 gr(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 or(z, z') -{ 0 }-> 2 :|: z = 2, z0 >= 0, z' = z0 or(z, z') -{ 0 }-> 2 :|: z = z0, z' = 2, z0 >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 p(z) -{ 0 }-> z0 :|: z = 1 + z0, z0 >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (21) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: gr(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 gr(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 gr(z, z') -{ 0 }-> 1 :|: z0 >= 0, z = 0, z' = z0 or(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 2 :|: z = 2, z0 >= 0, z' = z0 or(z, z') -{ 0 }-> 2 :|: z = z0, z' = 2, z0 >= 0 p(z) -{ 0 }-> z0 :|: z = 1 + z0, z0 >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + z0', z1) :|: z = 2, z1 >= 0, z0' >= 0, z' = 1 + z0', z'' = z1 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z1) :|: z = 2, z1 >= 0, z' = 0, z'' = z1 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z0, 1 + z021) :|: z021 >= 0, z = 1, z0 >= 0, z'' = 1 + z021, z' = z0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z0, 0) :|: z'' = 0, z = 1, z0 >= 0, z' = z0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z0, z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z01, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z0 = 1 + z01, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z01, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z0 = 1 + z01, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z02, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, 2 = 2, z01 >= 0, 2 = z01, z0 = 1 + z02, z02 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z02, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01, z0 = 1 + z02, z02 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, 2 = 2, z01 >= 0, 2 = z01, v0 >= 0, z0 = v0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', v0' >= 0, z0 = v0' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01, v0 >= 0, z0 = v0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z0 = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, v0' >= 0, z0 = v0' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0, v0 >= 0, z0 = v0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', 1 = 1, v0 >= 0, z0 = v0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z0', z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, v0' >= 0, v1' >= 0, z1 = v0', 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z0 = 1 + z0', z0' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z0'', z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z0 = 1 + z0'', z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z0'', z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z0 = 1 + z0'', z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z0'', z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z0' >= 0, z1 = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z0 = 1 + z0'', z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z01, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1, z0 = 1 + z01, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z01, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1, z0 = 1 + z01, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1, v0' >= 0, z0 = v0' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', v0'' >= 0, z0 = v0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1, v0' >= 0, z0 = v0' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z0 = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', v0'' >= 0, z0 = v0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, v0' >= 0, v1' >= 0, z1 = v0', 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z0 = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, v0' >= 0, v1' >= 0, z1 = v0', 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', v01 >= 0, z0 = v01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z0' >= 0, z1 = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z0 = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z0' >= 0, z1 = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', v0'' >= 0, z0 = v0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1, v0' >= 0, z0 = v0' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', v0'' >= 0, z0 = v0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1, v0' >= 0, z0 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, z01) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z1 = 1 + z01, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, z01) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z1 = 1 + z01, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, z02) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, 2 = 2, z01 >= 0, 2 = z01, z1 = 1 + z02, z02 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, z02) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0, z1 = 1 + z02, z02 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, 2 = 2, z01 >= 0, 2 = z01, v0 >= 0, z1 = v0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z1 = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', v0' >= 0, z1 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01, v0 >= 0, z1 = v0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, v0' >= 0, z1 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0, v0 >= 0, z1 = v0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 1 + z046) :|: z046 >= 0, z = 1, z0 >= 0, z'' = 1 + z046, z' = z0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z0, 1 + z050) :|: z'' = 1 + z050, z = 1, z0 >= 0, z' = z0, z050 >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + z044) :|: z = 1, z044 >= 0, z'' = 1 + z044, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + z048) :|: z = 1, z048 >= 0, z'' = 1 + z048, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + z043, z1) :|: z' = 1 + z043, z1 >= 0, z043 >= 0, z = 1, z'' = z1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + z043, 0) :|: z'' = 0, z' = 1 + z043, z043 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + z043, 1 + z045) :|: z' = 1 + z043, z043 >= 0, z045 >= 0, z = 1, z'' = 1 + z045, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + z047, z1) :|: z1 >= 0, z' = 1 + z047, z = 1, z'' = z1, z047 >= 0, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + z047, 0) :|: z'' = 0, z' = 1 + z047, z = 1, z047 >= 0, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + z047, 1 + z049) :|: z049 >= 0, z' = 1 + z047, z = 1, z'' = 1 + z049, z047 >= 0, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', 1 = 1, v0 >= 0, z1 = v0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z0') :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, v0' >= 0, v1' >= 0, z1 = v0', 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z1 = 1 + z0', z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z0'') :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z1 = 1 + z0'', z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z0'') :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z1 = 1 + z0'', z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z0'') :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z1 = 1 + z0'', z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z01) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1, z1 = 1 + z01, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z01) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1, z1 = 1 + z01, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z'' = 0, z = 1, z0 >= 0, z' = z0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z1 = 1 + z0'', z0'' >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1, v0' >= 0, z1 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z1 = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', v0'' >= 0, z1 = v0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0 = 1 + z0', z0' >= 0, 0 = 0, z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1, v0' >= 0, z1 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z1 = 1 + z0', z0' >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', v0'' >= 0, z1 = v0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, v0' >= 0, v1' >= 0, z1 = v0', 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z1 = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, v0' >= 0, v1' >= 0, z1 = v0', 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', v01 >= 0, z1 = v01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z0' >= 0, z1 = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, v0 >= 0, v1 >= 0, z0 = v0, 0 = v1, z0' >= 0, z1 = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', v0'' >= 0, z1 = v0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z1 = 1 + z0'', z0'' >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1, v0' >= 0, z1 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z1 = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', v0 >= 0, v1 >= 0, z1 = v0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', v0'' >= 0, z1 = v0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1, z0' >= 0, z0 = 0, 0 = z0', z0'' >= 0, z1 = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1, v0' >= 0, z1 = v0' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 1 + z046) :|: z046 >= 0, z = 1, z0 >= 0, z'' = 1 + z046, z' = z0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z0, 1 + z050) :|: z'' = 1 + z050, z = 1, z0 >= 0, z' = z0, z050 >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z1) :|: z1 >= 0, z = 1, z' = 0, z'' = z1, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + z044) :|: z = 1, z044 >= 0, z'' = 1 + z044, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + z048) :|: z = 1, z048 >= 0, z'' = 1 + z048, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + z043, z1) :|: z' = 1 + z043, z1 >= 0, z043 >= 0, z = 1, z'' = z1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + z043, 0) :|: z'' = 0, z' = 1 + z043, z043 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + z043, 1 + z045) :|: z' = 1 + z043, z043 >= 0, z045 >= 0, z = 1, z'' = 1 + z045, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + z047, z1) :|: z1 >= 0, z' = 1 + z047, z = 1, z'' = z1, z047 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + z047, 0) :|: z'' = 0, z' = 1 + z047, z = 1, z047 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + z047, 1 + z049) :|: z049 >= 0, z' = 1 + z047, z = 1, z'' = 1 + z049, z047 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ 1 }-> 1 + GR(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 gr(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z0 >= 0, z = 0, z' = z0 gr(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 or(z, z') -{ 0 }-> 2 :|: z = 2, z0 >= 0, z' = z0 or(z, z') -{ 0 }-> 2 :|: z = z0, z' = 2, z0 >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 p(z) -{ 0 }-> z0 :|: z = 1 + z0, z0 >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (23) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ 1 }-> 1 + GR(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 ---------------------------------------- (25) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { GR } { COND2, COND1, COND3 } { p } { gr } { or } ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ 1 }-> 1 + GR(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {GR}, {COND2,COND1,COND3}, {p}, {gr}, {or} ---------------------------------------- (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', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ 1 }-> 1 + GR(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {GR}, {COND2,COND1,COND3}, {p}, {gr}, {or} ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: GR 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', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ 1 }-> 1 + GR(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {GR}, {COND2,COND1,COND3}, {p}, {gr}, {or} Previous analysis results are: GR: runtime: ?, size: O(1) [0] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: GR after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ 1 }-> 1 + GR(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {COND2,COND1,COND3}, {p}, {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], 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', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {COND2,COND1,COND3}, {p}, {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT 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: 1 Computed SIZE bound using CoFloCo for: COND3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {COND2,COND1,COND3}, {p}, {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: ?, size: O(1) [0] COND1: runtime: ?, size: O(1) [1] COND3: runtime: ?, size: O(1) [2] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: COND2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 651 + 287*z' + 303*z'' Computed RUNTIME bound using CoFloCo for: COND1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 652 + 287*z' + 303*z'' Computed RUNTIME bound using CoFloCo for: COND3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 653 + 287*z' + 303*z'' ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 1 }-> 1 + COND2(2, 1 + (z' - 1), z'') :|: z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(1, 0, z'') :|: z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 1 }-> 1 + COND2(0, z', z'') :|: z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(1, z', 0) :|: z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND3(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 1 }-> 1 + COND1(2, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 1 }-> 1 + COND1(0, z' - 1, z'') :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(2, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(1, 0, 0) :|: z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'') :|: z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 0) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', z'' - 1) :|: z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, z', 1 + (z'' - 1)) :|: z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, z'') :|: z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 0) :|: z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 0, 1 + (z'' - 1)) :|: z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), z'') :|: z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 0) :|: z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 1 }-> 1 + COND1(0, 1 + (z' - 1), 1 + (z'' - 1)) :|: z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {p}, {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] ---------------------------------------- (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', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {p}, {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] ---------------------------------------- (41) 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 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {p}, {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: ?, size: O(n^1) [z] ---------------------------------------- (43) 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: 0 ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], 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', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: gr 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', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {gr}, {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], size: O(n^1) [z] gr: runtime: ?, size: O(1) [2] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: gr 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', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], size: O(n^1) [z] gr: 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', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], size: O(n^1) [z] gr: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: or 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', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: {or} Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], size: O(n^1) [z] gr: runtime: O(1) [0], size: O(1) [2] or: runtime: ?, size: O(1) [2] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: or after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: COND1(z, z', z'') -{ 652 + 303*z'' }-> 1 + s' :|: s' >= 0, s' <= 0, z = 2, z'' >= 0, z' = 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s'' :|: s'' >= 0, s'' <= 0, z = 2, z'' >= 0, z' - 1 >= 0 COND1(z, z', z'') -{ 652 + 287*z' + 303*z'' }-> 1 + s1 :|: s1 >= 0, s1 <= 0, z = 2, z'' >= 0, z' >= 0 COND2(z, z', z'') -{ 654 + 287*z' }-> 1 + s2 :|: s2 >= 0, s2 <= 2, z'' = 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s20 :|: s20 >= 0, s20 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s21 :|: s21 >= 0, s21 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s22 :|: s22 >= 0, s22 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s23 :|: s23 >= 0, s23 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s24 :|: s24 >= 0, s24 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s25 :|: s25 >= 0, s25 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s26 :|: s26 >= 0, s26 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s27 :|: s27 >= 0, s27 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s28 :|: s28 >= 0, s28 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s29 :|: s29 >= 0, s29 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s3 :|: s3 >= 0, s3 <= 2, z'' - 1 >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s30 :|: s30 >= 0, s30 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s31 :|: s31 >= 0, s31 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s32 :|: s32 >= 0, s32 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s33 :|: s33 >= 0, s33 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s34 :|: s34 >= 0, s34 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s35 :|: s35 >= 0, s35 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s36 :|: s36 >= 0, s36 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0, z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s37 :|: s37 >= 0, s37 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s38 :|: s38 >= 0, s38 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s39 :|: s39 >= 0, s39 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z' = 0 COND2(z, z', z'') -{ 654 + 287*z' + 303*z'' }-> 1 + s4 :|: s4 >= 0, s4 <= 2, z'' >= 0, z = 1, z' >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s40 :|: s40 >= 0, s40 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND2(z, z', z'') -{ 366 + 287*z' + 303*z'' }-> 1 + s41 :|: s41 >= 0, s41 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' - 1 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s42 :|: s42 >= 0, s42 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1', z' = 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s43 :|: s43 >= 0, s43 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s44 :|: s44 >= 0, s44 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s45 :|: s45 >= 0, s45 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s46 :|: s46 >= 0, s46 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s47 :|: s47 >= 0, s47 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND2(z, z', z'') -{ 653 + 303*z'' }-> 1 + s48 :|: s48 >= 0, s48 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s10 :|: s10 >= 0, s10 <= 1, z'' = 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s11 :|: s11 >= 0, s11 <= 1, z'' = 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 1 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s12 :|: s12 >= 0, s12 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s13 :|: s13 >= 0, s13 <= 1, z' - 1 >= 0, z'' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 2 = z0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s14 :|: s14 >= 0, s14 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, v0 >= 0, v1 >= 0, 2 = v0, 0 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s15 :|: s15 >= 0, s15 <= 1, z'' >= 0, z' - 1 >= 0, z = 1, 2 = 2, z0 >= 0, 0 = z0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s16 :|: s16 >= 0, s16 <= 1, z'' = 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s17 :|: s17 >= 0, s17 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s18 :|: s18 >= 0, s18 <= 1, z'' - 1 >= 0, z = 1, z' >= 0, 0 = z0', 2 = 2, z0' >= 0 COND3(z, z', z'') -{ 653 + 287*z' + 303*z'' }-> 1 + s19 :|: s19 >= 0, s19 <= 1, z'' >= 0, z = 1, z' >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s49 :|: s49 >= 0, s49 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s5 :|: s5 >= 0, s5 <= 1, z'' = 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s50 :|: s50 >= 0, s50 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, v0 >= 0, v1 >= 0, 2 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s51 :|: s51 >= 0, s51 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s52 :|: s52 >= 0, s52 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z'' - 1 >= 0, 2 = 2, z01 >= 0, 2 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s53 :|: s53 >= 0, s53 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s54 :|: s54 >= 0, s54 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s55 :|: s55 >= 0, s55 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 2 = v0', 0 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s56 :|: s56 >= 0, s56 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s58 :|: s58 >= 0, s58 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, v1 >= 0, 0 = v1, 2 = 2, z0'' >= 0, 0 = z0'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s59 :|: s59 >= 0, s59 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 2 = v0, 1 = v1 COND3(z, z', z'') -{ 653 }-> 1 + s6 :|: s6 >= 0, s6 <= 1, z'' = 0, z = 1, z' = 0, 1 = 1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s60 :|: s60 >= 0, s60 <= 1, z = 2, z'' >= 0, z' >= 0, z' - 1 >= 0, 0 = 0, z0'' >= 0, z'' = 0, 0 = z0'', 2 = 2, z01 >= 0, 1 = z01 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s61 :|: s61 >= 0, s61 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s62 :|: s62 >= 0, s62 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, v0' >= 0, v1' >= 0, 0 = v0', 2 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s63 :|: s63 >= 0, s63 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s64 :|: s64 >= 0, s64 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z'' - 1 >= 0, 0 = 0, 0 = z0'', 2 = 2, z0'' >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s65 :|: s65 >= 0, s65 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s66 :|: s66 >= 0, s66 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s67 :|: s67 >= 0, s67 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, v1' >= 0, 0 = v1', v0'' >= 0, v1'' >= 0, 0 = v0'', 0 = v1'' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s68 :|: s68 >= 0, s68 <= 1, z = 2, z'' >= 0, z' >= 0, v1 >= 0, 0 = v1, z0' >= 0, z'' = 0, 0 = z0', v0' >= 0, v1' >= 0, 0 = v0', 1 = v1' COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s69 :|: s69 >= 0, s69 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s7 :|: s7 >= 0, s7 <= 1, z = 1, z'' - 1 >= 0, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s70 :|: s70 >= 0, s70 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, v0 >= 0, v1 >= 0, 1 = v0, 2 = v1 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s71 :|: s71 >= 0, s71 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s72 :|: s72 >= 0, s72 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z'' - 1 >= 0, 0 = 0, 1 = z01, 2 = 2, z01 >= 0 COND3(z, z', z'') -{ 350 + 287*z' + 303*z'' }-> 1 + s73 :|: s73 >= 0, s73 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' - 1 >= 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s74 :|: s74 >= 0, s74 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1', z'' = 0 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s75 :|: s75 >= 0, s75 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', v1 >= 0, 0 = v1, v0' >= 0, v1' >= 0, 1 = v0', 0 = v1' COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s76 :|: s76 >= 0, s76 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', v0 >= 0, v1 >= 0, 1 = v0, 1 = v1 COND3(z, z', z'') -{ 653 + 287*z' }-> 1 + s77 :|: s77 >= 0, s77 <= 1, z = 2, z'' >= 0, z' >= 0, z0' >= 0, z' = 0, 0 = z0', z0'' >= 0, z'' = 0, 0 = z0'', 1 = 1 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s8 :|: s8 >= 0, s8 <= 1, z = 1, z'' - 1 >= 0, z' = 0, 1 = z0, 2 = 2, z0 >= 0 COND3(z, z', z'') -{ 653 + 303*z'' }-> 1 + s9 :|: s9 >= 0, s9 <= 1, z'' >= 0, z = 1, z' = 0, v0 >= 0, v1 >= 0, 1 = v0, 0 = v1 GR(z, z') -{ z' }-> 1 + s :|: s >= 0, s <= 0, z' - 1 >= 0, z - 1 >= 0 gr(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 gr(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 gr(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0 or(z, z') -{ 0 }-> 2 :|: z' = 2, z >= 0 or(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 or(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 p(z) -{ 0 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> z - 1 :|: z - 1 >= 0 Function symbols to be analyzed: Previous analysis results are: GR: runtime: O(n^1) [z'], size: O(1) [0] COND2: runtime: O(n^1) [651 + 287*z' + 303*z''], size: O(1) [0] COND1: runtime: O(n^1) [652 + 287*z' + 303*z''], size: O(1) [1] COND3: runtime: O(n^1) [653 + 287*z' + 303*z''], size: O(1) [2] p: runtime: O(1) [0], size: O(n^1) [z] gr: runtime: O(1) [0], size: O(1) [2] or: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (57) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (58) BOUNDS(1, n^1)