10.26/5.02 WORST_CASE(Omega(n^1), O(n^2)) 10.26/5.03 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 10.26/5.03 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.26/5.03 10.26/5.03 10.26/5.03 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, n^2). 10.26/5.03 10.26/5.03 (0) CpxIntTrs 10.26/5.03 (1) Koat Proof [FINISHED, 724 ms] 10.26/5.03 (2) BOUNDS(1, n^2) 10.26/5.03 (3) Loat Proof [FINISHED, 3347 ms] 10.26/5.03 (4) BOUNDS(n^1, INF) 10.26/5.03 10.26/5.03 10.26/5.03 ---------------------------------------- 10.26/5.03 10.26/5.03 (0) 10.26/5.03 Obligation: 10.26/5.03 Complexity Int TRS consisting of the following rules: 10.26/5.03 f0(A, B) -> Com_1(f2(A, B)) :|: A >= 1 && B >= 1 10.26/5.03 f0(A, B) -> Com_1(f2(A, B)) :|: A >= 1 && 0 >= B + 1 10.26/5.03 f0(A, B) -> Com_1(f2(A, B)) :|: 0 >= A + 1 && B >= 1 10.26/5.03 f0(A, B) -> Com_1(f2(A, B)) :|: 0 >= A + 1 && 0 >= B + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A, B - 1)) :|: A >= B && B >= 2 && A >= 1 && A + B >= 2 10.26/5.03 f2(A, B) -> Com_1(f2(A, B - 1)) :|: A >= B && B >= 2 && 0 >= A + 1 && A + B >= 2 10.26/5.03 f2(A, B) -> Com_1(f2(A, B - 1)) :|: A >= B && 0 >= B && A >= 1 && A + B >= 2 10.26/5.03 f2(A, B) -> Com_1(f2(A, B - 1)) :|: A >= B && 0 >= B && 0 >= A + 1 && A + B >= 2 10.26/5.03 f2(A, B) -> Com_1(f2(A - 1, B)) :|: 1 >= A + B && A >= B + 1 && A >= 2 && B >= 1 10.26/5.03 f2(A, B) -> Com_1(f2(A - 1, B)) :|: 1 >= A + B && A >= B + 1 && A >= 2 && 0 >= B + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A - 1, B)) :|: 1 >= A + B && A >= B + 1 && 0 >= A && B >= 1 10.26/5.03 f2(A, B) -> Com_1(f2(A - 1, B)) :|: 1 >= A + B && A >= B + 1 && 0 >= A && 0 >= B + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A, B + 1)) :|: B >= A && B >= 0 && A >= 1 && 0 >= B + A + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A, B + 1)) :|: B >= A && B >= 0 && 0 >= A + 1 && 0 >= B + A + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A, B + 1)) :|: B >= A && 0 >= B + 2 && A >= 1 && 0 >= B + A + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A, B + 1)) :|: B >= A && 0 >= B + 2 && 0 >= A + 1 && 0 >= B + A + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A + 1, B)) :|: B + A >= 0 && B >= A + 1 && A >= 0 && B >= 1 10.26/5.03 f2(A, B) -> Com_1(f2(A + 1, B)) :|: B + A >= 0 && B >= A + 1 && A >= 0 && 0 >= B + 1 10.26/5.03 f2(A, B) -> Com_1(f2(A + 1, B)) :|: B + A >= 0 && B >= A + 1 && 0 >= A + 2 && B >= 1 10.26/5.03 f2(A, B) -> Com_1(f2(A + 1, B)) :|: B + A >= 0 && B >= A + 1 && 0 >= A + 2 && 0 >= B + 1 10.26/5.03 10.26/5.03 The start-symbols are:[f0_2] 10.26/5.03 10.26/5.03 10.26/5.03 ---------------------------------------- 10.26/5.03 10.26/5.03 (1) Koat Proof (FINISHED) 10.26/5.03 YES(?, 8*ar_1 + 3*ar_0^2 + 4*ar_0*ar_1 + 6*ar_0 + ar_1^2 + 4) 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Initial complexity problem: 10.26/5.03 10.26/5.03 1: T: 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ 0 >= ar_0 + 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ 0 >= ar_0 + 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ ar_0 >= 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ ar_0 >= 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Testing for reachability in the complexity graph removes the following transitions from problem 1: 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ 0 >= ar_0 + 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ 0 >= ar_0 + 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ ar_0 >= 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ ar_0 >= 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 We thus obtain the following problem: 10.26/5.03 10.26/5.03 2: T: 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Repeatedly propagating knowledge in problem 2 produces the following problem: 10.26/5.03 10.26/5.03 3: T: 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = -V_1 + V_2 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 4: T: 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = V_2 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 5: T: 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = V_1 + V_2 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 6: T: 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = -V_2 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 7: T: 10.26/5.03 10.26/5.03 (Comp: 3*ar_1 + ar_0^2 + ar_0*ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = V_1 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 8: T: 10.26/5.03 10.26/5.03 (Comp: 3*ar_1 + ar_0^2 + ar_0*ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0^2 + ar_0*ar_1 + ar_0, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = -V_1 - V_2 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 9: T: 10.26/5.03 10.26/5.03 (Comp: 3*ar_1 + ar_0^2 + ar_0*ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0^2 + ar_0*ar_1 + ar_0, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = -V_1 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 10: T: 10.26/5.03 10.26/5.03 (Comp: 3*ar_1 + ar_0^2 + ar_0*ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ?, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0^2 + ar_0*ar_1 + ar_0, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0^2 + ar_0*ar_1 + ar_0, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 A polynomial rank function with 10.26/5.03 10.26/5.03 Pol(f2) = V_1 - V_2 10.26/5.03 10.26/5.03 and size complexities 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ ar_1 >= 2 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_0 >= 0 /\\ ar_1 >= 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\\ 0 >= ar_1 /\\ ar_0 >= 1 /\\ ar_0 + ar_1 >= 2 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ ar_0 >= 2 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ ar_1 >= 0 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-0) = ar_0 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ 0 >= ar_0 + 2 /\\ ar_1 >= 1 ]", 0-1) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\\ ar_0 >= ar_1 + 1 /\\ 0 >= ar_0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-0) = ar_0 + ar_1 10.26/5.03 10.26/5.03 S("f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\\ 0 >= ar_1 + 2 /\\ 0 >= ar_0 + 1 /\\ 0 >= ar_1 + ar_0 + 1 ]", 0-1) = ar_1 10.26/5.03 10.26/5.03 orients the transitions 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 weakly and the transition 10.26/5.03 10.26/5.03 f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 strictly and produces the following problem: 10.26/5.03 10.26/5.03 11: T: 10.26/5.03 10.26/5.03 (Comp: 3*ar_1 + ar_0^2 + ar_0*ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ 0 >= ar_1 + 2 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ 0 >= ar_0 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0^2 + ar_0*ar_1 + ar_0, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ 0 >= ar_0 + 2 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 + 1)) [ ar_1 >= ar_0 /\ ar_1 >= 0 /\ 0 >= ar_0 + 1 /\ 0 >= ar_1 + ar_0 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0^2 + ar_0*ar_1 + ar_0, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 - 1, ar_1)) [ 1 >= ar_0 + ar_1 /\ ar_0 >= ar_1 + 1 /\ ar_0 >= 2 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ 0 >= ar_1 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: ar_0 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0 + 1, ar_1)) [ ar_1 + ar_0 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_0 >= 0 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: ar_0*ar_1 + ar_1^2 + ar_1, Cost: 1) f2(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1 - 1)) [ ar_0 >= ar_1 /\ ar_1 >= 2 /\ ar_0 >= 1 /\ ar_0 + ar_1 >= 2 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ 0 >= ar_0 + 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ 0 >= ar_1 + 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 1) f0(ar_0, ar_1) -> Com_1(f2(ar_0, ar_1)) [ ar_0 >= 1 /\ ar_1 >= 1 ] 10.26/5.03 10.26/5.03 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1) -> Com_1(f0(ar_0, ar_1)) [ 0 <= 0 ] 10.26/5.03 10.26/5.03 start location: koat_start 10.26/5.03 10.26/5.03 leaf cost: 0 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Complexity upper bound 8*ar_1 + 3*ar_0^2 + 4*ar_0*ar_1 + 6*ar_0 + ar_1^2 + 4 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Time: 0.671 sec (SMT: 0.564 sec) 10.26/5.03 10.26/5.03 10.26/5.03 ---------------------------------------- 10.26/5.03 10.26/5.03 (2) 10.26/5.03 BOUNDS(1, n^2) 10.26/5.03 10.26/5.03 ---------------------------------------- 10.26/5.03 10.26/5.03 (3) Loat Proof (FINISHED) 10.26/5.03 10.26/5.03 10.26/5.03 ### Pre-processing the ITS problem ### 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Initial linear ITS problem 10.26/5.03 10.26/5.03 Start location: f0 10.26/5.03 10.26/5.03 0: f0 -> f2 : [ A>=1 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 1: f0 -> f2 : [ A>=1 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 2: f0 -> f2 : [ 0>=1+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 3: f0 -> f2 : [ 0>=1+A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 4: f2 -> f2 : B'=-1+B, [ A>=B && B>=2 && A>=1 && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 5: f2 -> f2 : B'=-1+B, [ A>=B && B>=2 && 0>=1+A && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 6: f2 -> f2 : B'=-1+B, [ A>=B && 0>=B && A>=1 && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 7: f2 -> f2 : B'=-1+B, [ A>=B && 0>=B && 0>=1+A && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 8: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && A>=2 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 9: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && A>=2 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 10: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && 0>=A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 11: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && 0>=A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 12: f2 -> f2 : B'=1+B, [ B>=A && B>=0 && A>=1 && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 13: f2 -> f2 : B'=1+B, [ B>=A && B>=0 && 0>=1+A && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 14: f2 -> f2 : B'=1+B, [ B>=A && 0>=2+B && A>=1 && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 15: f2 -> f2 : B'=1+B, [ B>=A && 0>=2+B && 0>=1+A && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 16: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && A>=0 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 17: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && A>=0 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 18: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && 0>=2+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 19: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && 0>=2+A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Removed rules with unsatisfiable guard: 10.26/5.03 10.26/5.03 Start location: f0 10.26/5.03 10.26/5.03 0: f0 -> f2 : [ A>=1 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 1: f0 -> f2 : [ A>=1 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 2: f0 -> f2 : [ 0>=1+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 3: f0 -> f2 : [ 0>=1+A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 4: f2 -> f2 : B'=-1+B, [ A>=B && B>=2 && A>=1 && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 6: f2 -> f2 : B'=-1+B, [ A>=B && 0>=B && A>=1 && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 9: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && A>=2 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 11: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && 0>=A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 13: f2 -> f2 : B'=1+B, [ B>=A && B>=0 && 0>=1+A && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 15: f2 -> f2 : B'=1+B, [ B>=A && 0>=2+B && 0>=1+A && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 16: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && A>=0 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 18: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && 0>=2+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Simplified all rules, resulting in: 10.26/5.03 10.26/5.03 Start location: f0 10.26/5.03 10.26/5.03 0: f0 -> f2 : [ A>=1 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 1: f0 -> f2 : [ A>=1 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 2: f0 -> f2 : [ 0>=1+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 3: f0 -> f2 : [ 0>=1+A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 4: f2 -> f2 : B'=-1+B, [ A>=B && B>=2 ], cost: 1 10.26/5.03 10.26/5.03 6: f2 -> f2 : B'=-1+B, [ 0>=B && A>=1 && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 9: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && A>=2 ], cost: 1 10.26/5.03 10.26/5.03 11: f2 -> f2 : A'=-1+A, [ A>=1+B && 0>=A ], cost: 1 10.26/5.03 10.26/5.03 13: f2 -> f2 : B'=1+B, [ B>=0 && 0>=1+A && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 15: f2 -> f2 : B'=1+B, [ B>=A && 0>=2+B ], cost: 1 10.26/5.03 10.26/5.03 16: f2 -> f2 : A'=1+A, [ B>=1+A && A>=0 ], cost: 1 10.26/5.03 10.26/5.03 18: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && 0>=2+A ], cost: 1 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 ### Simplification by acceleration and chaining ### 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Accelerating simple loops of location 1. 10.26/5.03 10.26/5.03 Accelerating the following rules: 10.26/5.03 10.26/5.03 4: f2 -> f2 : B'=-1+B, [ A>=B && B>=2 ], cost: 1 10.26/5.03 10.26/5.03 6: f2 -> f2 : B'=-1+B, [ 0>=B && A>=1 && A+B>=2 ], cost: 1 10.26/5.03 10.26/5.03 9: f2 -> f2 : A'=-1+A, [ 1>=A+B && A>=1+B && A>=2 ], cost: 1 10.26/5.03 10.26/5.03 11: f2 -> f2 : A'=-1+A, [ A>=1+B && 0>=A ], cost: 1 10.26/5.03 10.26/5.03 13: f2 -> f2 : B'=1+B, [ B>=0 && 0>=1+A && 0>=1+A+B ], cost: 1 10.26/5.03 10.26/5.03 15: f2 -> f2 : B'=1+B, [ B>=A && 0>=2+B ], cost: 1 10.26/5.03 10.26/5.03 16: f2 -> f2 : A'=1+A, [ B>=1+A && A>=0 ], cost: 1 10.26/5.03 10.26/5.03 18: f2 -> f2 : A'=1+A, [ A+B>=0 && B>=1+A && 0>=2+A ], cost: 1 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Accelerated rule 4 with metering function -1+B, yielding the new rule 20. 10.26/5.03 10.26/5.03 Accelerated rule 6 with metering function -1+A+B, yielding the new rule 21. 10.26/5.03 10.26/5.03 Accelerated rule 9 with metering function -1+A, yielding the new rule 22. 10.26/5.03 10.26/5.03 Accelerated rule 11 with metering function A-B, yielding the new rule 23. 10.26/5.03 10.26/5.03 Accelerated rule 13 with metering function -A-B, yielding the new rule 24. 10.26/5.03 10.26/5.03 Accelerated rule 15 with metering function -1-B, yielding the new rule 25. 10.26/5.03 10.26/5.03 Accelerated rule 16 with metering function -A+B, yielding the new rule 26. 10.26/5.03 10.26/5.03 Accelerated rule 18 with metering function -1-A, yielding the new rule 27. 10.26/5.03 10.26/5.03 Removing the simple loops: 4 6 9 11 13 15 16 18. 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Accelerated all simple loops using metering functions (where possible): 10.26/5.03 10.26/5.03 Start location: f0 10.26/5.03 10.26/5.03 0: f0 -> f2 : [ A>=1 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 1: f0 -> f2 : [ A>=1 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 2: f0 -> f2 : [ 0>=1+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 3: f0 -> f2 : [ 0>=1+A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 20: f2 -> f2 : B'=1, [ A>=B && B>=2 ], cost: -1+B 10.26/5.03 10.26/5.03 21: f2 -> f2 : B'=1-A, [ 0>=B && A>=1 && A+B>=2 ], cost: -1+A+B 10.26/5.03 10.26/5.03 22: f2 -> f2 : A'=1, [ 1>=A+B && A>=1+B && A>=2 ], cost: -1+A 10.26/5.03 10.26/5.03 23: f2 -> f2 : A'=B, [ A>=1+B && 0>=A ], cost: A-B 10.26/5.03 10.26/5.03 24: f2 -> f2 : B'=-A, [ B>=0 && 0>=1+A && 0>=1+A+B ], cost: -A-B 10.26/5.03 10.26/5.03 25: f2 -> f2 : B'=-1, [ B>=A && 0>=2+B ], cost: -1-B 10.26/5.03 10.26/5.03 26: f2 -> f2 : A'=B, [ B>=1+A && A>=0 ], cost: -A+B 10.26/5.03 10.26/5.03 27: f2 -> f2 : A'=-1, [ A+B>=0 && B>=1+A && 0>=2+A ], cost: -1-A 10.26/5.03 10.26/5.03 10.26/5.03 10.26/5.03 Chained accelerated rules (with incoming rules): 10.26/5.03 10.26/5.03 Start location: f0 10.26/5.03 10.26/5.03 0: f0 -> f2 : [ A>=1 && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 1: f0 -> f2 : [ A>=1 && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 2: f0 -> f2 : [ 0>=1+A && B>=1 ], cost: 1 10.26/5.03 10.26/5.03 3: f0 -> f2 : [ 0>=1+A && 0>=1+B ], cost: 1 10.26/5.03 10.26/5.03 28: f0 -> f2 : B'=1, [ A>=1 && A>=B && B>=2 ], cost: B 10.26/5.03 10.26/5.03 29: f0 -> f2 : B'=1-A, [ A>=1 && 0>=1+B && A+B>=2 ], cost: A+B 10.26/5.03 10.26/5.03 30: f0 -> f2 : A'=1, [ 0>=1+B && 1>=A+B && A>=1+B && A>=2 ], cost: A 10.26/5.03 10.26/5.03 31: f0 -> f2 : A'=B, [ 0>=1+A && 0>=1+B && A>=1+B ], cost: 1+A-B 10.26/5.03 10.26/5.03 32: f0 -> f2 : B'=-A, [ 0>=1+A && B>=1 && 0>=1+A+B ], cost: 1-A-B 10.26/5.03 10.26/5.03 33: f0 -> f2 : B'=-1, [ 0>=1+A && B>=A && 0>=2+B ], cost: -B 10.26/5.03 10.26/5.03 34: f0 -> f2 : A'=B, [ A>=1 && B>=1 && B>=1+A ], cost: 1-A+B 10.26/5.03 10.26/5.03 35: f0 -> f2 : A'=-1, [ B>=1 && A+B>=0 && B>=1+A && 0>=2+A ], cost: -A 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 Removed unreachable locations (and leaf rules with constant cost): 10.26/5.04 10.26/5.04 Start location: f0 10.26/5.04 10.26/5.04 28: f0 -> f2 : B'=1, [ A>=1 && A>=B && B>=2 ], cost: B 10.26/5.04 10.26/5.04 29: f0 -> f2 : B'=1-A, [ A>=1 && 0>=1+B && A+B>=2 ], cost: A+B 10.26/5.04 10.26/5.04 30: f0 -> f2 : A'=1, [ 0>=1+B && 1>=A+B && A>=1+B && A>=2 ], cost: A 10.26/5.04 10.26/5.04 31: f0 -> f2 : A'=B, [ 0>=1+A && 0>=1+B && A>=1+B ], cost: 1+A-B 10.26/5.04 10.26/5.04 32: f0 -> f2 : B'=-A, [ 0>=1+A && B>=1 && 0>=1+A+B ], cost: 1-A-B 10.26/5.04 10.26/5.04 33: f0 -> f2 : B'=-1, [ 0>=1+A && B>=A && 0>=2+B ], cost: -B 10.26/5.04 10.26/5.04 34: f0 -> f2 : A'=B, [ A>=1 && B>=1 && B>=1+A ], cost: 1-A+B 10.26/5.04 10.26/5.04 35: f0 -> f2 : A'=-1, [ B>=1 && A+B>=0 && B>=1+A && 0>=2+A ], cost: -A 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 ### Computing asymptotic complexity ### 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 Fully simplified ITS problem 10.26/5.04 10.26/5.04 Start location: f0 10.26/5.04 10.26/5.04 28: f0 -> f2 : B'=1, [ A>=1 && A>=B && B>=2 ], cost: B 10.26/5.04 10.26/5.04 29: f0 -> f2 : B'=1-A, [ A>=1 && 0>=1+B && A+B>=2 ], cost: A+B 10.26/5.04 10.26/5.04 30: f0 -> f2 : A'=1, [ 0>=1+B && 1>=A+B && A>=1+B && A>=2 ], cost: A 10.26/5.04 10.26/5.04 31: f0 -> f2 : A'=B, [ 0>=1+A && 0>=1+B && A>=1+B ], cost: 1+A-B 10.26/5.04 10.26/5.04 32: f0 -> f2 : B'=-A, [ 0>=1+A && B>=1 && 0>=1+A+B ], cost: 1-A-B 10.26/5.04 10.26/5.04 33: f0 -> f2 : B'=-1, [ 0>=1+A && B>=A && 0>=2+B ], cost: -B 10.26/5.04 10.26/5.04 34: f0 -> f2 : A'=B, [ A>=1 && B>=1 && B>=1+A ], cost: 1-A+B 10.26/5.04 10.26/5.04 35: f0 -> f2 : A'=-1, [ B>=1 && A+B>=0 && B>=1+A && 0>=2+A ], cost: -A 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 Computing asymptotic complexity for rule 28 10.26/5.04 10.26/5.04 Simplified the guard: 10.26/5.04 10.26/5.04 28: f0 -> f2 : B'=1, [ A>=B && B>=2 ], cost: B 10.26/5.04 10.26/5.04 Solved the limit problem by the following transformations: 10.26/5.04 10.26/5.04 Created initial limit problem: 10.26/5.04 10.26/5.04 -1+B (+/+!), 1+A-B (+/+!), B (+) [not solved] 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 removing all constraints (solved by SMT) 10.26/5.04 10.26/5.04 resulting limit problem: [solved] 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 applying transformation rule (C) using substitution {A==n,B==n} 10.26/5.04 10.26/5.04 resulting limit problem: 10.26/5.04 10.26/5.04 [solved] 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 Solution: 10.26/5.04 10.26/5.04 A / n 10.26/5.04 10.26/5.04 B / n 10.26/5.04 10.26/5.04 Resulting cost n has complexity: Poly(n^1) 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 Found new complexity Poly(n^1). 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 Obtained the following overall complexity (w.r.t. the length of the input n): 10.26/5.04 10.26/5.04 Complexity: Poly(n^1) 10.26/5.04 10.26/5.04 Cpx degree: 1 10.26/5.04 10.26/5.04 Solved cost: n 10.26/5.04 10.26/5.04 Rule cost: B 10.26/5.04 10.26/5.04 Rule guard: [ A>=B && B>=2 ] 10.26/5.04 10.26/5.04 10.26/5.04 10.26/5.04 WORST_CASE(Omega(n^1),?) 10.26/5.04 10.26/5.04 10.26/5.04 ---------------------------------------- 10.26/5.04 10.26/5.04 (4) 10.26/5.04 BOUNDS(n^1, INF) 10.26/5.06 EOF