5.97/2.65 WORST_CASE(Omega(n^1), O(n^1)) 5.97/2.66 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 5.97/2.66 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.97/2.66 5.97/2.66 5.97/2.66 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, n^1). 5.97/2.66 5.97/2.66 (0) CpxIntTrs 5.97/2.66 (1) Koat Proof [FINISHED, 925 ms] 5.97/2.66 (2) BOUNDS(1, n^1) 5.97/2.66 (3) Loat Proof [FINISHED, 724 ms] 5.97/2.66 (4) BOUNDS(n^1, INF) 5.97/2.66 5.97/2.66 5.97/2.66 ---------------------------------------- 5.97/2.66 5.97/2.66 (0) 5.97/2.66 Obligation: 5.97/2.66 Complexity Int TRS consisting of the following rules: 5.97/2.66 eval0(A, B, C, D) -> Com_1(eval1(B, B, 1, D)) :|: TRUE 5.97/2.66 eval1(A, B, C, D) -> Com_1(end(A, B, C, D)) :|: A >= 101 5.97/2.66 eval1(A, B, C, D) -> Com_1(eval3(A, B, C, D)) :|: 100 >= A 5.97/2.66 eval3(A, B, C, D) -> Com_1(eval3(A + 11, B, C + 1, D)) :|: 100 >= A 5.97/2.66 eval3(A, B, C, D) -> Com_1(eval5(A, B, C, D)) :|: A >= 101 5.97/2.66 eval5(A, B, C, D) -> Com_1(eval7(A - 10, B, C - 1, D)) :|: C >= 2 5.97/2.66 eval7(A, B, C, D) -> Com_1(eval5(A, B, C, A - 10)) :|: A >= 101 && C >= 1 && C <= 1 5.97/2.66 eval7(A, B, C, D) -> Com_1(eval9(A, B, C, D)) :|: 100 >= A 5.97/2.66 eval7(A, B, C, D) -> Com_1(eval9(A, B, C, D)) :|: 2 >= C 5.97/2.66 eval7(A, B, C, D) -> Com_1(eval9(A, B, C, D)) :|: C >= 0 5.97/2.66 eval9(A, B, C, D) -> Com_1(eval11(A - 10, B, C - 1, D)) :|: A >= 101 5.97/2.66 eval9(A, B, C, D) -> Com_1(eval11(A, B, C, D)) :|: 100 >= A 5.97/2.66 eval11(A, B, C, D) -> Com_1(eval5(A + 11, B, C + 1, D)) :|: TRUE 5.97/2.66 5.97/2.66 The start-symbols are:[eval0_4] 5.97/2.66 5.97/2.66 5.97/2.66 ---------------------------------------- 5.97/2.66 5.97/2.66 (1) Koat Proof (FINISHED) 5.97/2.66 YES(?, 84482*ar_1 + 8492880) 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Initial complexity problem: 5.97/2.66 5.97/2.66 1: T: 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval0(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval1(ar_1, ar_1, 1, ar_3)) 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval1(ar_0, ar_1, ar_2, ar_3) -> Com_1(end(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval1(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval3(ar_0, ar_1, ar_2, ar_3)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1, ar_3)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval5(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1, ar_3)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval5(ar_0, ar_1, ar_2, ar_0 - 10)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval9(ar_0, ar_1, ar_2, ar_3)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval9(ar_0, ar_1, ar_2, ar_3)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval9(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1, ar_3)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval11(ar_0, ar_1, ar_2, ar_3)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1, ar_3)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(eval0(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Slicing away variables that do not contribute to conditions from problem 1 leaves variables [ar_0, ar_1, ar_2]. 5.97/2.66 5.97/2.66 We thus obtain the following problem: 5.97/2.66 5.97/2.66 2: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Repeatedly propagating knowledge in problem 2 produces the following problem: 5.97/2.66 5.97/2.66 3: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 A polynomial rank function with 5.97/2.66 5.97/2.66 Pol(koat_start) = 1 5.97/2.66 5.97/2.66 Pol(eval0) = 1 5.97/2.66 5.97/2.66 Pol(eval11) = 0 5.97/2.66 5.97/2.66 Pol(eval5) = 0 5.97/2.66 5.97/2.66 Pol(eval9) = 0 5.97/2.66 5.97/2.66 Pol(eval7) = 0 5.97/2.66 5.97/2.66 Pol(eval3) = 1 5.97/2.66 5.97/2.66 Pol(eval1) = 1 5.97/2.66 5.97/2.66 Pol(end) = 0 5.97/2.66 5.97/2.66 orients all transitions weakly and the transition 5.97/2.66 5.97/2.66 eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 strictly and produces the following problem: 5.97/2.66 5.97/2.66 4: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 A polynomial rank function with 5.97/2.66 5.97/2.66 Pol(eval3) = -V_1 + 101 5.97/2.66 5.97/2.66 and size complexities 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ]", 0-0) = ar_1 + 111 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-0) = ar_1 + 111 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1))", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1))", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1))", 0-2) = ? 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 5.97/2.66 5.97/2.66 orients the transitions 5.97/2.66 5.97/2.66 eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 weakly and the transition 5.97/2.66 5.97/2.66 eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 strictly and produces the following problem: 5.97/2.66 5.97/2.66 5: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 A polynomial rank function with 5.97/2.66 5.97/2.66 Pol(eval9) = V_3 5.97/2.66 5.97/2.66 Pol(eval11) = V_3 5.97/2.66 5.97/2.66 Pol(eval7) = V_3 5.97/2.66 5.97/2.66 Pol(eval5) = V_3 - 1 5.97/2.66 5.97/2.66 and size complexities 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ]", 0-0) = ar_1 + 111 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ]", 0-2) = ar_1 + 102 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-0) = ar_1 + 111 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ]", 0-2) = ar_1 + 102 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1))", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1))", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1))", 0-2) = ? 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 5.97/2.66 5.97/2.66 orients the transitions 5.97/2.66 5.97/2.66 eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) 5.97/2.66 5.97/2.66 weakly and the transition 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 strictly and produces the following problem: 5.97/2.66 5.97/2.66 6: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Applied AI with 'oct' on problem 6 to obtain the following invariants: 5.97/2.66 5.97/2.66 For symbol eval1: -X_3 + 1 >= 0 /\ X_3 - 1 >= 0 /\ X_1 - X_2 >= 0 /\ -X_1 + X_2 >= 0 5.97/2.66 5.97/2.66 For symbol eval11: X_3 >= 0 /\ -X_2 + X_3 + 100 >= 0 /\ X_1 + X_3 - 91 >= 0 /\ -X_2 + 100 >= 0 /\ X_1 - X_2 + 9 >= 0 /\ X_1 - 91 >= 0 5.97/2.66 5.97/2.66 For symbol eval3: X_3 - 1 >= 0 /\ -X_2 + X_3 + 99 >= 0 /\ -X_2 + 100 >= 0 /\ X_1 - X_2 >= 0 5.97/2.66 5.97/2.66 For symbol eval5: X_3 - 1 >= 0 /\ -X_2 + X_3 + 99 >= 0 /\ X_1 + X_3 - 102 >= 0 /\ -X_2 + 100 >= 0 /\ X_1 - X_2 - 1 >= 0 /\ X_1 - 101 >= 0 5.97/2.66 5.97/2.66 For symbol eval7: X_3 - 1 >= 0 /\ -X_2 + X_3 + 99 >= 0 /\ X_1 + X_3 - 92 >= 0 /\ -X_2 + 100 >= 0 /\ X_1 - X_2 + 9 >= 0 /\ X_1 - 91 >= 0 5.97/2.66 5.97/2.66 For symbol eval9: X_3 - 1 >= 0 /\ -X_2 + X_3 + 99 >= 0 /\ X_1 + X_3 - 92 >= 0 /\ -X_2 + 100 >= 0 /\ X_1 - X_2 + 9 >= 0 /\ X_1 - 91 >= 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 This yielded the following problem: 5.97/2.66 5.97/2.66 7: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 A polynomial rank function with 5.97/2.66 5.97/2.66 Pol(eval0) = -20*V_2 + 2010 5.97/2.66 5.97/2.66 Pol(eval1) = -20*V_2 + 2010 5.97/2.66 5.97/2.66 Pol(end) = -20*V_2 5.97/2.66 5.97/2.66 Pol(eval3) = -20*V_1 + 220*V_3 + 1790 5.97/2.66 5.97/2.66 Pol(eval5) = -22*V_1 + 220*V_3 + 1992 5.97/2.66 5.97/2.66 Pol(eval7) = -22*V_1 + 220*V_3 + 1992 5.97/2.66 5.97/2.66 Pol(eval9) = -22*V_1 + 220*V_3 + 1981 5.97/2.66 5.97/2.66 Pol(eval11) = -22*V_1 + 220*V_3 + 1970 5.97/2.66 5.97/2.66 Pol(koat_start) = -20*V_2 + 2010 5.97/2.66 5.97/2.66 orients all transitions weakly and the transitions 5.97/2.66 5.97/2.66 eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 strictly and produces the following problem: 5.97/2.66 5.97/2.66 8: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 By chaining the transition eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 ] with all transitions in problem 8, the following new transition is obtained: 5.97/2.66 5.97/2.66 eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 ] 5.97/2.66 5.97/2.66 We thus obtain the following problem: 5.97/2.66 5.97/2.66 9: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 By chaining the transition eval3(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 ] with all transitions in problem 9, the following new transition is obtained: 5.97/2.66 5.97/2.66 eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 /\ ar_0 + ar_2 - 102 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 We thus obtain the following problem: 5.97/2.66 5.97/2.66 10: T: 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 /\ ar_0 + ar_2 - 102 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 By chaining the transition eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] with all transitions in problem 10, the following new transition is obtained: 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 We thus obtain the following problem: 5.97/2.66 5.97/2.66 11: T: 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 2) eval7(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 /\ ar_0 + ar_2 - 102 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: ?, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 A polynomial rank function with 5.97/2.66 5.97/2.66 Pol(eval9) = 4*V_1 - 9 5.97/2.66 5.97/2.66 Pol(eval11) = 4*V_1 + 22 5.97/2.66 5.97/2.66 Pol(eval7) = 4*V_1 5.97/2.66 5.97/2.66 Pol(eval5) = 4*V_1 - 31 5.97/2.66 5.97/2.66 and size complexities 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\\ -ar_1 + ar_2 + 100 >= 0 /\\ ar_0 + ar_2 - 91 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\\ -ar_1 + ar_2 + 100 >= 0 /\\ ar_0 + ar_2 - 91 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\\ -ar_1 + ar_2 + 100 >= 0 /\\ ar_0 + ar_2 - 91 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 100 >= ar_0 ]", 0-0) = 100 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_0 >= 101 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_0 >= 101 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_2 >= 0 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_2 >= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_2 >= 0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 2 >= ar_2 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 2 >= ar_2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 2 >= ar_2 ]", 0-2) = 2 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ ar_0 >= 101 /\\ ar_2 = 1 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 102 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 - 1 >= 0 /\\ ar_0 - 101 >= 0 /\\ ar_2 >= 2 ]", 0-0) = ? 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 102 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 - 1 >= 0 /\\ ar_0 - 101 >= 0 /\\ ar_2 >= 2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 102 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 - 1 >= 0 /\\ ar_0 - 101 >= 0 /\\ ar_2 >= 2 ]", 0-2) = ? 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ 100 >= ar_0 ]", 0-0) = ar_1 + 222 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ 100 >= ar_0 ]", 0-2) = ar_1 + 103 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ ar_0 >= 101 ]", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ ar_0 >= 101 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ ar_0 >= 101 ]", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-0) = ar_1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1))", 0-2) = 1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ 100 >= ar_0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 ]", 0-0) = ar_1 + 111 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ 100 >= ar_0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ 100 >= ar_0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 ]", 0-2) = 2 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_0 >= 101 /\\ ar_0 + ar_2 - 102 >= 0 /\\ ar_0 - ar_1 - 1 >= 0 /\\ ar_0 - 101 >= 0 /\\ ar_2 >= 2 ]", 0-0) = ar_1 + 222 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_0 >= 101 /\\ ar_0 + ar_2 - 102 >= 0 /\\ ar_0 - ar_1 - 1 >= 0 /\\ ar_0 - 101 >= 0 /\\ ar_2 >= 2 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_0 >= 101 /\\ ar_0 + ar_2 - 102 >= 0 /\\ ar_0 - ar_1 - 1 >= 0 /\\ ar_0 - 101 >= 0 /\\ ar_2 >= 2 ]", 0-2) = ar_1 + 105 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 100 >= ar_0 ]", 0-0) = 100 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 100 >= ar_0 ]", 0-1) = ar_1 5.97/2.66 5.97/2.66 S("eval7(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ -ar_1 + ar_2 + 99 >= 0 /\\ ar_0 + ar_2 - 92 >= 0 /\\ -ar_1 + 100 >= 0 /\\ ar_0 - ar_1 + 9 >= 0 /\\ ar_0 - 91 >= 0 /\\ 100 >= ar_0 ]", 0-2) = ? 5.97/2.66 5.97/2.66 orients the transitions 5.97/2.66 5.97/2.66 eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 weakly and the transitions 5.97/2.66 5.97/2.66 eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 strictly and produces the following problem: 5.97/2.66 5.97/2.66 12: T: 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 2) eval7(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval3(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_0 >= 101 /\ ar_0 + ar_2 - 102 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 2) eval1(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ 100 >= ar_0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval0(ar_0, ar_1, ar_2) -> Com_1(eval1(ar_1, ar_1, 1)) 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 1) eval1(ar_0, ar_1, ar_2) -> Com_1(end(ar_0, ar_1, ar_2)) [ -ar_2 + 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_0 - ar_1 >= 0 /\ -ar_0 + ar_1 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 101, Cost: 1) eval3(ar_0, ar_1, ar_2) -> Com_1(eval3(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 16884*ar_1 + 1697328, Cost: 1) eval5(ar_0, ar_1, ar_2) -> Com_1(eval7(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 102 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 - 1 >= 0 /\ ar_0 - 101 >= 0 /\ ar_2 >= 2 ] 5.97/2.66 5.97/2.66 (Comp: ar_1 + 103, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 /\ ar_2 = 1 ] 5.97/2.66 5.97/2.66 (Comp: 16884*ar_1 + 1697328, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 2 >= ar_2 ] 5.97/2.66 5.97/2.66 (Comp: 16884*ar_1 + 1697328, Cost: 1) eval7(ar_0, ar_1, ar_2) -> Com_1(eval9(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_2 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 16884*ar_1 + 1697328, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0 - 10, ar_1, ar_2 - 1)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ ar_0 >= 101 ] 5.97/2.66 5.97/2.66 (Comp: 20*ar_1 + 2010, Cost: 1) eval9(ar_0, ar_1, ar_2) -> Com_1(eval11(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ -ar_1 + ar_2 + 99 >= 0 /\ ar_0 + ar_2 - 92 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 /\ 100 >= ar_0 ] 5.97/2.66 5.97/2.66 (Comp: 16884*ar_1 + 1697328, Cost: 1) eval11(ar_0, ar_1, ar_2) -> Com_1(eval5(ar_0 + 11, ar_1, ar_2 + 1)) [ ar_2 >= 0 /\ -ar_1 + ar_2 + 100 >= 0 /\ ar_0 + ar_2 - 91 >= 0 /\ -ar_1 + 100 >= 0 /\ ar_0 - ar_1 + 9 >= 0 /\ ar_0 - 91 >= 0 ] 5.97/2.66 5.97/2.66 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(eval0(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 5.97/2.66 5.97/2.66 start location: koat_start 5.97/2.66 5.97/2.66 leaf cost: 0 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Complexity upper bound 84482*ar_1 + 8492880 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Time: 0.956 sec (SMT: 0.800 sec) 5.97/2.66 5.97/2.66 5.97/2.66 ---------------------------------------- 5.97/2.66 5.97/2.66 (2) 5.97/2.66 BOUNDS(1, n^1) 5.97/2.66 5.97/2.66 ---------------------------------------- 5.97/2.66 5.97/2.66 (3) Loat Proof (FINISHED) 5.97/2.66 5.97/2.66 5.97/2.66 ### Pre-processing the ITS problem ### 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Initial linear ITS problem 5.97/2.66 5.97/2.66 Start location: eval0 5.97/2.66 5.97/2.66 0: eval0 -> eval1 : A'=B, C'=1, [], cost: 1 5.97/2.66 5.97/2.66 1: eval1 -> end : [ A>=101 ], cost: 1 5.97/2.66 5.97/2.66 2: eval1 -> eval3 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 3: eval3 -> eval3 : A'=11+A, C'=1+C, [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.66 5.97/2.66 5: eval5 -> eval7 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 1 5.97/2.66 5.97/2.66 6: eval7 -> eval5 : D'=-10+A, [ A>=101 && C==1 ], cost: 1 5.97/2.66 5.97/2.66 7: eval7 -> eval9 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 8: eval7 -> eval9 : [ 2>=C ], cost: 1 5.97/2.66 5.97/2.66 9: eval7 -> eval9 : [ C>=0 ], cost: 1 5.97/2.66 5.97/2.66 10: eval9 -> eval11 : A'=-10+A, C'=-1+C, [ A>=101 ], cost: 1 5.97/2.66 5.97/2.66 11: eval9 -> eval11 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 12: eval11 -> eval5 : A'=11+A, C'=1+C, [], cost: 1 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Removed unreachable and leaf rules: 5.97/2.66 5.97/2.66 Start location: eval0 5.97/2.66 5.97/2.66 0: eval0 -> eval1 : A'=B, C'=1, [], cost: 1 5.97/2.66 5.97/2.66 2: eval1 -> eval3 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 3: eval3 -> eval3 : A'=11+A, C'=1+C, [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.66 5.97/2.66 5: eval5 -> eval7 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 1 5.97/2.66 5.97/2.66 6: eval7 -> eval5 : D'=-10+A, [ A>=101 && C==1 ], cost: 1 5.97/2.66 5.97/2.66 7: eval7 -> eval9 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 8: eval7 -> eval9 : [ 2>=C ], cost: 1 5.97/2.66 5.97/2.66 9: eval7 -> eval9 : [ C>=0 ], cost: 1 5.97/2.66 5.97/2.66 10: eval9 -> eval11 : A'=-10+A, C'=-1+C, [ A>=101 ], cost: 1 5.97/2.66 5.97/2.66 11: eval9 -> eval11 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 12: eval11 -> eval5 : A'=11+A, C'=1+C, [], cost: 1 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 ### Simplification by acceleration and chaining ### 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Accelerating simple loops of location 2. 5.97/2.66 5.97/2.66 Accelerating the following rules: 5.97/2.66 5.97/2.66 3: eval3 -> eval3 : A'=11+A, C'=1+C, [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Accelerated rule 3 with metering function meter (where 11*meter==100-A), yielding the new rule 13. 5.97/2.66 5.97/2.66 Removing the simple loops: 3. 5.97/2.66 5.97/2.66 5.97/2.66 5.97/2.66 Accelerated all simple loops using metering functions (where possible): 5.97/2.66 5.97/2.66 Start location: eval0 5.97/2.66 5.97/2.66 0: eval0 -> eval1 : A'=B, C'=1, [], cost: 1 5.97/2.66 5.97/2.66 2: eval1 -> eval3 : [ 100>=A ], cost: 1 5.97/2.66 5.97/2.66 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.66 5.97/2.66 13: eval3 -> eval3 : A'=11*meter+A, C'=meter+C, [ 100>=A && 11*meter==100-A && meter>=1 ], cost: meter 5.97/2.67 5.97/2.67 5: eval5 -> eval7 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 1 5.97/2.67 5.97/2.67 6: eval7 -> eval5 : D'=-10+A, [ A>=101 && C==1 ], cost: 1 5.97/2.67 5.97/2.67 7: eval7 -> eval9 : [ 100>=A ], cost: 1 5.97/2.67 5.97/2.67 8: eval7 -> eval9 : [ 2>=C ], cost: 1 5.97/2.67 5.97/2.67 9: eval7 -> eval9 : [ C>=0 ], cost: 1 5.97/2.67 5.97/2.67 10: eval9 -> eval11 : A'=-10+A, C'=-1+C, [ A>=101 ], cost: 1 5.97/2.67 5.97/2.67 11: eval9 -> eval11 : [ 100>=A ], cost: 1 5.97/2.67 5.97/2.67 12: eval11 -> eval5 : A'=11+A, C'=1+C, [], cost: 1 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Chained accelerated rules (with incoming rules): 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 0: eval0 -> eval1 : A'=B, C'=1, [], cost: 1 5.97/2.67 5.97/2.67 2: eval1 -> eval3 : [ 100>=A ], cost: 1 5.97/2.67 5.97/2.67 14: eval1 -> eval3 : A'=11*meter+A, C'=meter+C, [ 100>=A && 11*meter==100-A && meter>=1 ], cost: 1+meter 5.97/2.67 5.97/2.67 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.67 5.97/2.67 5: eval5 -> eval7 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 1 5.97/2.67 5.97/2.67 6: eval7 -> eval5 : D'=-10+A, [ A>=101 && C==1 ], cost: 1 5.97/2.67 5.97/2.67 7: eval7 -> eval9 : [ 100>=A ], cost: 1 5.97/2.67 5.97/2.67 8: eval7 -> eval9 : [ 2>=C ], cost: 1 5.97/2.67 5.97/2.67 9: eval7 -> eval9 : [ C>=0 ], cost: 1 5.97/2.67 5.97/2.67 10: eval9 -> eval11 : A'=-10+A, C'=-1+C, [ A>=101 ], cost: 1 5.97/2.67 5.97/2.67 11: eval9 -> eval11 : [ 100>=A ], cost: 1 5.97/2.67 5.97/2.67 12: eval11 -> eval5 : A'=11+A, C'=1+C, [], cost: 1 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Eliminated locations (on tree-shaped paths): 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 15: eval0 -> eval3 : A'=B, C'=1, [ 100>=B ], cost: 2 5.97/2.67 5.97/2.67 16: eval0 -> eval3 : A'=11*meter+B, C'=1+meter, [ 100>=B && 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.67 5.97/2.67 17: eval5 -> eval5 : A'=-10+A, C'=-1+C, D'=-20+A, [ -10+A>=101 && -1+C==1 ], cost: 2 5.97/2.67 5.97/2.67 18: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 100>=-10+A ], cost: 2 5.97/2.67 5.97/2.67 19: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 2>=-1+C ], cost: 2 5.97/2.67 5.97/2.67 20: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 2 5.97/2.67 5.97/2.67 21: eval9 -> eval5 : A'=1+A, C'=C, [ A>=101 ], cost: 2 5.97/2.67 5.97/2.67 22: eval9 -> eval5 : A'=11+A, C'=1+C, [ 100>=A ], cost: 2 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Accelerating simple loops of location 3. 5.97/2.67 5.97/2.67 Accelerating the following rules: 5.97/2.67 5.97/2.67 17: eval5 -> eval5 : A'=-10+A, C'=-1+C, D'=-20+A, [ -10+A>=101 && -1+C==1 ], cost: 2 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Accelerated rule 17 with metering function -2+C, yielding the new rule 23. 5.97/2.67 5.97/2.67 Removing the simple loops: 17. 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Accelerated all simple loops using metering functions (where possible): 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 15: eval0 -> eval3 : A'=B, C'=1, [ 100>=B ], cost: 2 5.97/2.67 5.97/2.67 16: eval0 -> eval3 : A'=11*meter+B, C'=1+meter, [ 100>=B && 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.67 5.97/2.67 18: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 100>=-10+A ], cost: 2 5.97/2.67 5.97/2.67 19: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 2>=-1+C ], cost: 2 5.97/2.67 5.97/2.67 20: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 2 5.97/2.67 5.97/2.67 23: eval5 -> eval5 : A'=20-10*C+A, C'=2, D'=10-10*C+A, [ -10+A>=101 && -1+C==1 && -2+C>=1 ], cost: -4+2*C 5.97/2.67 5.97/2.67 21: eval9 -> eval5 : A'=1+A, C'=C, [ A>=101 ], cost: 2 5.97/2.67 5.97/2.67 22: eval9 -> eval5 : A'=11+A, C'=1+C, [ 100>=A ], cost: 2 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Chained accelerated rules (with incoming rules): 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 15: eval0 -> eval3 : A'=B, C'=1, [ 100>=B ], cost: 2 5.97/2.67 5.97/2.67 16: eval0 -> eval3 : A'=11*meter+B, C'=1+meter, [ 100>=B && 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 4: eval3 -> eval5 : [ A>=101 ], cost: 1 5.97/2.67 5.97/2.67 18: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 100>=-10+A ], cost: 2 5.97/2.67 5.97/2.67 19: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 2>=-1+C ], cost: 2 5.97/2.67 5.97/2.67 20: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 2 5.97/2.67 5.97/2.67 21: eval9 -> eval5 : A'=1+A, C'=C, [ A>=101 ], cost: 2 5.97/2.67 5.97/2.67 22: eval9 -> eval5 : A'=11+A, C'=1+C, [ 100>=A ], cost: 2 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Eliminated locations (on tree-shaped paths): 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 24: eval0 -> [10] : [ 100>=B && 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 18: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 100>=-10+A ], cost: 2 5.97/2.67 5.97/2.67 19: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 && 2>=-1+C ], cost: 2 5.97/2.67 5.97/2.67 20: eval5 -> eval9 : A'=-10+A, C'=-1+C, [ C>=2 ], cost: 2 5.97/2.67 5.97/2.67 21: eval9 -> eval5 : A'=1+A, C'=C, [ A>=101 ], cost: 2 5.97/2.67 5.97/2.67 22: eval9 -> eval5 : A'=11+A, C'=1+C, [ 100>=A ], cost: 2 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Applied pruning (of leafs and parallel rules): 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 24: eval0 -> [10] : [ 100>=B && 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 ### Computing asymptotic complexity ### 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Fully simplified ITS problem 5.97/2.67 5.97/2.67 Start location: eval0 5.97/2.67 5.97/2.67 24: eval0 -> [10] : [ 100>=B && 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Computing asymptotic complexity for rule 24 5.97/2.67 5.97/2.67 Simplified the guard: 5.97/2.67 5.97/2.67 24: eval0 -> [10] : [ 11*meter==100-B && meter>=1 ], cost: 2+meter 5.97/2.67 5.97/2.67 Solved the limit problem by the following transformations: 5.97/2.67 5.97/2.67 Created initial limit problem: 5.97/2.67 5.97/2.67 meter (+/+!), -99+11*meter+B (+/+!), 101-11*meter-B (+/+!), 2+meter (+) [not solved] 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 applying transformation rule (C) using substitution {B==100-11*meter} 5.97/2.67 5.97/2.67 resulting limit problem: 5.97/2.67 5.97/2.67 1 (+/+!), meter (+/+!), 2+meter (+) [not solved] 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 applying transformation rule (B), deleting 1 (+/+!) 5.97/2.67 5.97/2.67 resulting limit problem: 5.97/2.67 5.97/2.67 meter (+/+!), 2+meter (+) [not solved] 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 removing all constraints (solved by SMT) 5.97/2.67 5.97/2.67 resulting limit problem: [solved] 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 applying transformation rule (C) using substitution {meter==n} 5.97/2.67 5.97/2.67 resulting limit problem: 5.97/2.67 5.97/2.67 [solved] 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Solution: 5.97/2.67 5.97/2.67 meter / n 5.97/2.67 5.97/2.67 B / 100-11*n 5.97/2.67 5.97/2.67 Resulting cost 2+n has complexity: Poly(n^1) 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Found new complexity Poly(n^1). 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 Obtained the following overall complexity (w.r.t. the length of the input n): 5.97/2.67 5.97/2.67 Complexity: Poly(n^1) 5.97/2.67 5.97/2.67 Cpx degree: 1 5.97/2.67 5.97/2.67 Solved cost: 2+n 5.97/2.67 5.97/2.67 Rule cost: 2+meter 5.97/2.67 5.97/2.67 Rule guard: [ 11*meter==100-B && meter>=1 ] 5.97/2.67 5.97/2.67 5.97/2.67 5.97/2.67 WORST_CASE(Omega(n^1),?) 5.97/2.67 5.97/2.67 5.97/2.67 ---------------------------------------- 5.97/2.67 5.97/2.67 (4) 5.97/2.67 BOUNDS(n^1, INF) 5.97/2.70 EOF