/export/starexec/sandbox2/solver/bin/starexec_run_c_complexity /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?, O(n^1)) proof of /export/starexec/sandbox2/output/output_files/bench.koat # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, n^1). (0) CpxIntTrs (1) Koat Proof [FINISHED, 281 ms] (2) BOUNDS(1, n^1) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: eval_t10_start(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb0_in(v_.0, v_.01, v_1, v_x, v_y)) :|: TRUE eval_t10_bb0_in(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb1_in(v_x, v_y, v_1, v_x, v_y)) :|: TRUE eval_t10_bb1_in(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb2_in(v_.0, v_.01, v_1, v_x, v_y)) :|: v_.0 > v_.01 eval_t10_bb1_in(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb3_in(v_.0, v_.01, v_1, v_x, v_y)) :|: v_.0 <= v_.01 eval_t10_bb2_in(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_0(v_.0, v_.01, v_1, v_x, v_y)) :|: TRUE eval_t10_0(v_.0, v_.01, v_1, v_x, v_y) -> Com_2(eval_nondet_start(v_.0, v_.01, v_1, v_x, v_y), eval_t10_1(v_.0, v_.01, nondef.0, v_x, v_y)) :|: TRUE eval_t10_1(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb1_in(v_.0, v_.01 + 1, v_1, v_x, v_y)) :|: v_1 > 0 eval_t10_1(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb1_in(v_.0 - 1, v_.01 + 1, v_1, v_x, v_y)) :|: v_1 > 0 && v_1 <= 0 eval_t10_1(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb1_in(v_.0, v_.01, v_1, v_x, v_y)) :|: v_1 <= 0 && v_1 > 0 eval_t10_1(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_bb1_in(v_.0 - 1, v_.01, v_1, v_x, v_y)) :|: v_1 <= 0 eval_t10_bb3_in(v_.0, v_.01, v_1, v_x, v_y) -> Com_1(eval_t10_stop(v_.0, v_.01, v_1, v_x, v_y)) :|: TRUE The start-symbols are:[eval_t10_start_5] ---------------------------------------- (1) Koat Proof (FINISHED) YES(?, 42*Ar_1 + 42*Ar_3 + 6) Initial complexity problem: 1: T: (Comp: ?, Cost: 1) evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_1, Ar_1, Ar_3, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 >= Ar_0 ] (Comp: ?, Cost: 1) evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) (Comp: ?, Cost: 1) evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 >= 1 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 >= 1 /\ 0 >= Ar_4 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_4 /\ Ar_4 >= 1 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_4 ] (Comp: ?, Cost: 1) evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transitions from problem 1: evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 >= 1 /\ 0 >= Ar_4 ] evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_4 /\ Ar_4 >= 1 ] We thus obtain the following problem: 2: T: (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_4 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 >= 1 ] (Comp: ?, Cost: 1) evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) (Comp: ?, Cost: 1) evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) (Comp: ?, Cost: 1) evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 >= Ar_0 ] (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_1, Ar_1, Ar_3, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_4 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 >= 1 ] (Comp: ?, Cost: 1) evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) (Comp: ?, Cost: 1) evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) (Comp: ?, Cost: 1) evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 >= Ar_0 ] (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_0 >= Ar_2 + 1 ] (Comp: 1, Cost: 1) evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_1, Ar_1, Ar_3, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 1) evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalt101) = 2 Pol(evalt10bb1in) = 2 Pol(evalt1001) = 2 Pol(evalt1000) = 0 Pol(evalnondetstart) = 0 Pol(evalt100) = 2 Pol(evalt10bb3in) = 1 Pol(evalt10stop) = 0 Pol(evalt10bb2in) = 2 Pol(evalt10bb0in) = 2 Pol(evalt10start) = 2 Pol(koat_start) = 2 orients all transitions weakly and the transitions evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 >= Ar_0 ] strictly and produces the following problem: 4: T: (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 >= Ar_4 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 >= 1 ] (Comp: ?, Cost: 1) evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) (Comp: ?, Cost: 1) evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) (Comp: 2, Cost: 1) evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 2, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 >= Ar_0 ] (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_0 >= Ar_2 + 1 ] (Comp: 1, Cost: 1) evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_1, Ar_1, Ar_3, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 1) evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Applied AI with 'oct' on problem 4 to obtain the following invariants: For symbol evalt100: X_3 - X_4 >= 0 /\ X_2 - X_4 - 1 >= 0 /\ X_1 - X_4 - 1 >= 0 /\ X_2 - X_3 - 1 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ -X_1 + X_2 >= 0 For symbol evalt1000: X_3 - X_4 >= 0 /\ X_2 - X_4 - 1 >= 0 /\ X_1 - X_4 - 1 >= 0 /\ X_2 - X_3 - 1 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ -X_1 + X_2 >= 0 For symbol evalt1001: X_3 - X_4 >= 0 /\ X_2 - X_4 - 1 >= 0 /\ X_1 - X_4 - 1 >= 0 /\ X_2 - X_3 - 1 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ -X_1 + X_2 >= 0 For symbol evalt101: X_5 - X_6 >= 0 /\ -X_5 + X_6 >= 0 /\ X_3 - X_4 >= 0 /\ X_2 - X_4 - 1 >= 0 /\ X_1 - X_4 - 1 >= 0 /\ X_2 - X_3 - 1 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ -X_1 + X_2 >= 0 For symbol evalt10bb1in: X_3 - X_4 >= 0 /\ -X_1 + X_2 >= 0 For symbol evalt10bb2in: X_3 - X_4 >= 0 /\ X_2 - X_4 - 1 >= 0 /\ X_1 - X_4 - 1 >= 0 /\ X_2 - X_3 - 1 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ -X_1 + X_2 >= 0 For symbol evalt10bb3in: X_3 - X_4 >= 0 /\ -X_1 + X_3 >= 0 /\ -X_1 + X_2 >= 0 This yielded the following problem: 5: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] (Comp: 1, Cost: 1) evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 1) evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_1, Ar_1, Ar_3, Ar_3, Ar_4, Ar_5)) (Comp: ?, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_0 >= Ar_2 + 1 ] (Comp: 2, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_2 >= Ar_0 ] (Comp: ?, Cost: 1) evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: 2, Cost: 1) evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_2 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: ?, Cost: 1) evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: ?, Cost: 1) evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: ?, Cost: 1) evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_4 >= 1 ] (Comp: ?, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ 0 >= Ar_4 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(koat_start) = 6*V_2 - 6*V_4 Pol(evalt10start) = 6*V_2 - 6*V_4 Pol(evalt10bb0in) = 6*V_2 - 6*V_4 Pol(evalt10bb1in) = 6*V_1 - 6*V_3 Pol(evalt10bb2in) = 6*V_1 - 6*V_3 - 1 Pol(evalt10bb3in) = 6*V_1 - 6*V_3 Pol(evalt100) = 6*V_1 - 6*V_3 - 2 Pol(evalt10stop) = 6*V_1 - 6*V_3 Pol(evalt1000) = 1 Pol(evalt1001) = 6*V_1 - 6*V_3 - 4 Pol(evalnondetstart) = 0 Pol(evalt101) = 6*V_1 - 6*V_3 - 5 orients all transitions weakly and the transitions evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_0 >= Ar_2 + 1 ] evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_4 >= 1 ] evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ 0 >= Ar_4 ] evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] strictly and produces the following problem: 6: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ 0 <= 0 ] (Comp: 1, Cost: 1) evalt10start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) (Comp: 1, Cost: 1) evalt10bb0in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_1, Ar_1, Ar_3, Ar_3, Ar_4, Ar_5)) (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_0 >= Ar_2 + 1 ] (Comp: 2, Cost: 1) evalt10bb1in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_2 >= Ar_0 ] (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt10bb2in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: 2, Cost: 1) evalt10bb3in(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10stop(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ -Ar_0 + Ar_2 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt100(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_2(evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0), evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_0)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt1000(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalnondetstart(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt1001(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_5, Ar_5)) [ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 ] (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0, Ar_1, Ar_2 + 1, Ar_3, Ar_4, Ar_5)) [ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ Ar_4 >= 1 ] (Comp: 6*Ar_1 + 6*Ar_3, Cost: 1) evalt101(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5) -> Com_1(evalt10bb1in(Ar_0 - 1, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5)) [ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_2 - Ar_3 >= 0 /\ Ar_1 - Ar_3 - 1 >= 0 /\ Ar_0 - Ar_3 - 1 >= 0 /\ Ar_1 - Ar_2 - 1 >= 0 /\ Ar_0 - Ar_2 - 1 >= 0 /\ -Ar_0 + Ar_1 >= 0 /\ 0 >= Ar_4 ] start location: koat_start leaf cost: 0 Complexity upper bound 42*Ar_1 + 42*Ar_3 + 6 Time: 0.286 sec (SMT: 0.213 sec) ---------------------------------------- (2) BOUNDS(1, n^1)