7.00/3.18 WORST_CASE(Omega(n^1), O(n^1)) 7.13/3.19 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 7.13/3.19 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.13/3.19 7.13/3.19 7.13/3.19 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, n^1). 7.13/3.19 7.13/3.19 (0) CpxIntTrs 7.13/3.19 (1) Koat Proof [FINISHED, 407 ms] 7.13/3.19 (2) BOUNDS(1, n^1) 7.13/3.19 (3) Loat Proof [FINISHED, 1528 ms] 7.13/3.19 (4) BOUNDS(n^1, INF) 7.13/3.19 7.13/3.19 7.13/3.19 ---------------------------------------- 7.13/3.19 7.13/3.19 (0) 7.13/3.19 Obligation: 7.13/3.19 Complexity Int TRS consisting of the following rules: 7.13/3.19 evalcomplexstart(A, B, C, D, E) -> Com_1(evalcomplexentryin(A, B, C, D, E)) :|: TRUE 7.13/3.19 evalcomplexentryin(A, B, C, D, E) -> Com_1(evalcomplexbb10in(B, A, C, D, E)) :|: TRUE 7.13/3.19 evalcomplexbb10in(A, B, C, D, E) -> Com_1(evalcomplexbb8in(A, B, A, B, E)) :|: 29 >= B 7.13/3.19 evalcomplexbb10in(A, B, C, D, E) -> Com_1(evalcomplexreturnin(A, B, C, D, E)) :|: B >= 30 7.13/3.19 evalcomplexbb8in(A, B, C, D, E) -> Com_1(evalcomplexbb1in(A, B, C, D, E)) :|: D >= C + 1 7.13/3.19 evalcomplexbb8in(A, B, C, D, E) -> Com_1(evalcomplexbb9in(A, B, C, D, E)) :|: C >= D 7.13/3.19 evalcomplexbb1in(A, B, C, D, E) -> Com_1(evalcomplexbb7in(A, B, C, D, C + 7)) :|: C >= 6 && 2 >= C 7.13/3.19 evalcomplexbb1in(A, B, C, D, E) -> Com_1(evalcomplexbb7in(A, B, C, D, C + 7)) :|: C >= 6 7.13/3.19 evalcomplexbb1in(A, B, C, D, E) -> Com_1(evalcomplexbb6in(A, B, C, D, C + 7)) :|: C >= 6 && C >= 3 && 5 >= C 7.13/3.19 evalcomplexbb1in(A, B, C, D, E) -> Com_1(evalcomplexbb7in(A, B, C, D, C + 2)) :|: 5 >= C && 7 >= C 7.13/3.19 evalcomplexbb1in(A, B, C, D, E) -> Com_1(evalcomplexbb7in(A, B, C, D, C + 2)) :|: 5 >= C && C >= 11 7.13/3.19 evalcomplexbb1in(A, B, C, D, E) -> Com_1(evalcomplexbb6in(A, B, C, D, C + 2)) :|: 5 >= C && C >= 8 && 10 >= C 7.13/3.19 evalcomplexbb7in(A, B, C, D, E) -> Com_1(evalcomplexbb8in(A, B, E, D + 1, E)) :|: TRUE 7.13/3.19 evalcomplexbb6in(A, B, C, D, E) -> Com_1(evalcomplexbb8in(A, B, E, D + 10, E)) :|: TRUE 7.13/3.19 evalcomplexbb9in(A, B, C, D, E) -> Com_1(evalcomplexbb10in(C - 10, D + 2, C, D, E)) :|: TRUE 7.13/3.19 evalcomplexreturnin(A, B, C, D, E) -> Com_1(evalcomplexstop(A, B, C, D, E)) :|: TRUE 7.13/3.19 7.13/3.19 The start-symbols are:[evalcomplexstart_5] 7.13/3.19 7.13/3.19 7.13/3.19 ---------------------------------------- 7.13/3.19 7.13/3.19 (1) Koat Proof (FINISHED) 7.13/3.19 YES(?, 65*ar_0 + 12*ar_1 + 2304) 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Initial complexity problem: 7.13/3.19 7.13/3.19 1: T: 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 /\ 2 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb6in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 /\ ar_2 >= 3 /\ 5 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ ar_2 >= 11 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb6in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ ar_2 >= 8 /\ 10 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb6in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 10, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Testing for reachability in the complexity graph removes the following transitions from problem 1: 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 /\ 2 >= ar_2 ] 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb6in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 /\ ar_2 >= 3 /\ 5 >= ar_2 ] 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ ar_2 >= 11 ] 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb6in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ ar_2 >= 8 /\ 10 >= ar_2 ] 7.13/3.19 7.13/3.19 evalcomplexbb6in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 10, ar_4)) 7.13/3.19 7.13/3.19 We thus obtain the following problem: 7.13/3.19 7.13/3.19 2: T: 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Repeatedly propagating knowledge in problem 2 produces the following problem: 7.13/3.19 7.13/3.19 3: T: 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 A polynomial rank function with 7.13/3.19 7.13/3.19 Pol(evalcomplexbb7in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexbb8in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexbb9in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexbb10in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexbb1in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexreturnin) = 1 7.13/3.19 7.13/3.19 Pol(evalcomplexstop) = 0 7.13/3.19 7.13/3.19 Pol(evalcomplexentryin) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexstart) = 2 7.13/3.19 7.13/3.19 Pol(koat_start) = 2 7.13/3.19 7.13/3.19 orients all transitions weakly and the transitions 7.13/3.19 7.13/3.19 evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 strictly and produces the following problem: 7.13/3.19 7.13/3.19 4: T: 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 A polynomial rank function with 7.13/3.19 7.13/3.19 Pol(evalcomplexbb7in) = -V_4 + 27 7.13/3.19 7.13/3.19 Pol(evalcomplexbb8in) = -V_4 + 28 7.13/3.19 7.13/3.19 Pol(evalcomplexbb9in) = -V_4 + 28 7.13/3.19 7.13/3.19 Pol(evalcomplexbb10in) = -V_2 + 30 7.13/3.19 7.13/3.19 Pol(evalcomplexbb1in) = -V_4 + 27 7.13/3.19 7.13/3.19 Pol(evalcomplexreturnin) = -V_2 7.13/3.19 7.13/3.19 Pol(evalcomplexstop) = -V_2 7.13/3.19 7.13/3.19 Pol(evalcomplexentryin) = -V_1 + 30 7.13/3.19 7.13/3.19 Pol(evalcomplexstart) = -V_1 + 30 7.13/3.19 7.13/3.19 Pol(koat_start) = -V_1 + 30 7.13/3.19 7.13/3.19 orients all transitions weakly and the transition 7.13/3.19 7.13/3.19 evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 strictly and produces the following problem: 7.13/3.19 7.13/3.19 5: T: 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ar_0 + 30, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 A polynomial rank function with 7.13/3.19 7.13/3.19 Pol(evalcomplexbb9in) = 1 7.13/3.19 7.13/3.19 Pol(evalcomplexbb10in) = 0 7.13/3.19 7.13/3.19 Pol(evalcomplexbb8in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexbb1in) = 2 7.13/3.19 7.13/3.19 Pol(evalcomplexbb7in) = 2 7.13/3.19 7.13/3.19 and size complexities 7.13/3.19 7.13/3.19 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-0) = ar_0 7.13/3.19 7.13/3.19 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-1) = ar_1 7.13/3.19 7.13/3.19 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-2) = ar_2 7.13/3.19 7.13/3.19 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-3) = ar_3 7.13/3.19 7.13/3.19 S("koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ]", 0-4) = ar_4 7.13/3.19 7.13/3.19 S("evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ar_0 7.13/3.19 7.13/3.19 S("evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ar_1 7.13/3.19 7.13/3.19 S("evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.13/3.19 7.13/3.19 S("evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.13/3.19 7.13/3.19 S("evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.13/3.19 7.13/3.19 S("evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4))", 0-0) = ar_1 7.13/3.19 7.13/3.19 S("evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4))", 0-1) = ar_0 7.13/3.19 7.13/3.19 S("evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4))", 0-2) = ar_2 7.13/3.19 7.13/3.19 S("evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4))", 0-3) = ar_3 7.13/3.19 7.13/3.19 S("evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4))", 0-4) = ar_4 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ]", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ]", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ]", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ]", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ]", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ]", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ]", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ]", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ]", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ]", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ]", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ]", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ]", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ]", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ]", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ]", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ]", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ]", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ]", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ]", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4))", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ]", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ]", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ]", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ]", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ]", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\\ 7 >= ar_2 ]", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\\ 7 >= ar_2 ]", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\\ 7 >= ar_2 ]", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\\ 7 >= ar_2 ]", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\\ 7 >= ar_2 ]", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4))", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4))", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4))", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4))", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4))", 0-4) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4))", 0-0) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4))", 0-1) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4))", 0-2) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4))", 0-3) = ? 7.13/3.19 7.13/3.19 S("evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4))", 0-4) = ? 7.13/3.19 7.13/3.19 orients the transitions 7.13/3.19 7.13/3.19 evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 weakly and the transitions 7.13/3.19 7.13/3.19 evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 strictly and produces the following problem: 7.13/3.19 7.13/3.19 6: T: 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 2*ar_0 + 60, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 2*ar_0 + 60, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ar_0 + 30, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Applied AI with 'oct' on problem 6 to obtain the following invariants: 7.13/3.19 7.13/3.19 For symbol evalcomplexbb1in: -X_3 + X_4 - 1 >= 0 /\ -X_2 + X_4 >= 0 /\ -X_1 + X_4 - 1 >= 0 /\ -X_1 + X_3 >= 0 /\ -X_2 + 29 >= 0 7.13/3.19 7.13/3.19 For symbol evalcomplexbb7in: X_4 - X_5 + 6 >= 0 /\ X_3 - X_5 + 7 >= 0 /\ -X_3 + X_5 - 2 >= 0 /\ -X_1 + X_5 - 2 >= 0 /\ -X_3 + X_4 - 1 >= 0 /\ -X_2 + X_4 >= 0 /\ -X_1 + X_4 - 1 >= 0 /\ -X_1 + X_3 >= 0 /\ -X_2 + 29 >= 0 7.13/3.19 7.13/3.19 For symbol evalcomplexbb8in: -X_2 + X_4 >= 0 /\ -X_1 + X_3 >= 0 /\ -X_2 + 29 >= 0 7.13/3.19 7.13/3.19 For symbol evalcomplexbb9in: X_3 - X_4 >= 0 /\ -X_2 + X_4 >= 0 /\ -X_2 + X_3 >= 0 /\ -X_1 + X_3 >= 0 /\ -X_2 + 29 >= 0 7.13/3.19 7.13/3.19 For symbol evalcomplexreturnin: X_2 - 30 >= 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 This yielded the following problem: 7.13/3.19 7.13/3.19 7: T: 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ar_0 + 30, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: 2*ar_0 + 60, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 - 30 >= 0 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: 2*ar_0 + 60, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) [ ar_2 - ar_3 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_1 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 ] 7.13/3.19 7.13/3.19 (Comp: ?, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) [ ar_3 - ar_4 + 6 >= 0 /\ ar_2 - ar_4 + 7 >= 0 /\ -ar_2 + ar_4 - 2 >= 0 /\ -ar_0 + ar_4 - 2 >= 0 /\ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 A polynomial rank function with 7.13/3.19 7.13/3.19 Pol(koat_start) = -15*V_1 - 3*V_2 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexstart) = -15*V_1 - 3*V_2 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexentryin) = -15*V_1 - 3*V_2 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexbb10in) = -3*V_1 - 15*V_2 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexbb8in) = -18*V_2 - 3*V_3 + 3*V_4 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexreturnin) = -3*V_1 - 15*V_2 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexbb1in) = -18*V_2 - 3*V_3 + 3*V_4 + 536 7.13/3.19 7.13/3.19 Pol(evalcomplexbb9in) = -3*V_3 - 15*V_4 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexstop) = -3*V_1 - 15*V_2 + 537 7.13/3.19 7.13/3.19 Pol(evalcomplexbb7in) = -18*V_2 - 3*V_3 + 3*V_4 + 535 7.13/3.19 7.13/3.19 orients all transitions weakly and the transitions 7.13/3.19 7.13/3.19 evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) [ ar_3 - ar_4 + 6 >= 0 /\ ar_2 - ar_4 + 7 >= 0 /\ -ar_2 + ar_4 - 2 >= 0 /\ -ar_0 + ar_4 - 2 >= 0 /\ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 ] 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 strictly and produces the following problem: 7.13/3.19 7.13/3.19 8: T: 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4)) [ 0 <= 0 ] 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexstart(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: 1, Cost: 1) evalcomplexentryin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_1, ar_0, ar_2, ar_3, ar_4)) 7.13/3.19 7.13/3.19 (Comp: ar_0 + 30, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_0, ar_1, ar_4)) [ 29 >= ar_1 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexbb10in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 >= 30 ] 7.13/3.19 7.13/3.19 (Comp: 15*ar_0 + 3*ar_1 + 537, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_3 >= ar_2 + 1 ] 7.13/3.19 7.13/3.19 (Comp: 2*ar_0 + 60, Cost: 1) evalcomplexbb8in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4)) [ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_2 >= ar_3 ] 7.13/3.19 7.13/3.19 (Comp: 2, Cost: 1) evalcomplexreturnin(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexstop(ar_0, ar_1, ar_2, ar_3, ar_4)) [ ar_1 - 30 >= 0 ] 7.13/3.19 7.13/3.19 (Comp: 15*ar_0 + 3*ar_1 + 537, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 7)) [ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ ar_2 >= 6 ] 7.13/3.19 7.13/3.19 (Comp: 15*ar_0 + 3*ar_1 + 537, Cost: 1) evalcomplexbb1in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_2 + 2)) [ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 /\ 5 >= ar_2 /\ 7 >= ar_2 ] 7.13/3.19 7.13/3.19 (Comp: 2*ar_0 + 60, Cost: 1) evalcomplexbb9in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb10in(ar_2 - 10, ar_3 + 2, ar_2, ar_3, ar_4)) [ ar_2 - ar_3 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_1 + ar_2 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 ] 7.13/3.19 7.13/3.19 (Comp: 15*ar_0 + 3*ar_1 + 537, Cost: 1) evalcomplexbb7in(ar_0, ar_1, ar_2, ar_3, ar_4) -> Com_1(evalcomplexbb8in(ar_0, ar_1, ar_4, ar_3 + 1, ar_4)) [ ar_3 - ar_4 + 6 >= 0 /\ ar_2 - ar_4 + 7 >= 0 /\ -ar_2 + ar_4 - 2 >= 0 /\ -ar_0 + ar_4 - 2 >= 0 /\ -ar_2 + ar_3 - 1 >= 0 /\ -ar_1 + ar_3 >= 0 /\ -ar_0 + ar_3 - 1 >= 0 /\ -ar_0 + ar_2 >= 0 /\ -ar_1 + 29 >= 0 ] 7.13/3.19 7.13/3.19 start location: koat_start 7.13/3.19 7.13/3.19 leaf cost: 0 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Complexity upper bound 65*ar_0 + 12*ar_1 + 2304 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Time: 0.420 sec (SMT: 0.335 sec) 7.13/3.19 7.13/3.19 7.13/3.19 ---------------------------------------- 7.13/3.19 7.13/3.19 (2) 7.13/3.19 BOUNDS(1, n^1) 7.13/3.19 7.13/3.19 ---------------------------------------- 7.13/3.19 7.13/3.19 (3) Loat Proof (FINISHED) 7.13/3.19 7.13/3.19 7.13/3.19 ### Pre-processing the ITS problem ### 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Initial linear ITS problem 7.13/3.19 7.13/3.19 Start location: evalcomplexstart 7.13/3.19 7.13/3.19 0: evalcomplexstart -> evalcomplexentryin : [], cost: 1 7.13/3.19 7.13/3.19 1: evalcomplexentryin -> evalcomplexbb10in : A'=B, B'=A, [], cost: 1 7.13/3.19 7.13/3.19 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.19 7.13/3.19 3: evalcomplexbb10in -> evalcomplexreturnin : [ B>=30 ], cost: 1 7.13/3.19 7.13/3.19 4: evalcomplexbb8in -> evalcomplexbb1in : [ D>=1+C ], cost: 1 7.13/3.19 7.13/3.19 5: evalcomplexbb8in -> evalcomplexbb9in : [ C>=D ], cost: 1 7.13/3.19 7.13/3.19 6: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 && 2>=C ], cost: 1 7.13/3.19 7.13/3.19 7: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 ], cost: 1 7.13/3.19 7.13/3.19 8: evalcomplexbb1in -> evalcomplexbb6in : E'=7+C, [ C>=6 && C>=3 && 5>=C ], cost: 1 7.13/3.19 7.13/3.19 9: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C && 7>=C ], cost: 1 7.13/3.19 7.13/3.19 10: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C && C>=11 ], cost: 1 7.13/3.19 7.13/3.19 11: evalcomplexbb1in -> evalcomplexbb6in : E'=2+C, [ 5>=C && C>=8 && 10>=C ], cost: 1 7.13/3.19 7.13/3.19 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.19 7.13/3.19 13: evalcomplexbb6in -> evalcomplexbb8in : C'=E, D'=10+D, [], cost: 1 7.13/3.19 7.13/3.19 14: evalcomplexbb9in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [], cost: 1 7.13/3.19 7.13/3.19 15: evalcomplexreturnin -> evalcomplexstop : [], cost: 1 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Removed unreachable and leaf rules: 7.13/3.19 7.13/3.19 Start location: evalcomplexstart 7.13/3.19 7.13/3.19 0: evalcomplexstart -> evalcomplexentryin : [], cost: 1 7.13/3.19 7.13/3.19 1: evalcomplexentryin -> evalcomplexbb10in : A'=B, B'=A, [], cost: 1 7.13/3.19 7.13/3.19 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.19 7.13/3.19 4: evalcomplexbb8in -> evalcomplexbb1in : [ D>=1+C ], cost: 1 7.13/3.19 7.13/3.19 5: evalcomplexbb8in -> evalcomplexbb9in : [ C>=D ], cost: 1 7.13/3.19 7.13/3.19 6: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 && 2>=C ], cost: 1 7.13/3.19 7.13/3.19 7: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 ], cost: 1 7.13/3.19 7.13/3.19 8: evalcomplexbb1in -> evalcomplexbb6in : E'=7+C, [ C>=6 && C>=3 && 5>=C ], cost: 1 7.13/3.19 7.13/3.19 9: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C && 7>=C ], cost: 1 7.13/3.19 7.13/3.19 10: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C && C>=11 ], cost: 1 7.13/3.19 7.13/3.19 11: evalcomplexbb1in -> evalcomplexbb6in : E'=2+C, [ 5>=C && C>=8 && 10>=C ], cost: 1 7.13/3.19 7.13/3.19 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.19 7.13/3.19 13: evalcomplexbb6in -> evalcomplexbb8in : C'=E, D'=10+D, [], cost: 1 7.13/3.19 7.13/3.19 14: evalcomplexbb9in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [], cost: 1 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Removed rules with unsatisfiable guard: 7.13/3.19 7.13/3.19 Start location: evalcomplexstart 7.13/3.19 7.13/3.19 0: evalcomplexstart -> evalcomplexentryin : [], cost: 1 7.13/3.19 7.13/3.19 1: evalcomplexentryin -> evalcomplexbb10in : A'=B, B'=A, [], cost: 1 7.13/3.19 7.13/3.19 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.19 7.13/3.19 4: evalcomplexbb8in -> evalcomplexbb1in : [ D>=1+C ], cost: 1 7.13/3.19 7.13/3.19 5: evalcomplexbb8in -> evalcomplexbb9in : [ C>=D ], cost: 1 7.13/3.19 7.13/3.19 7: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 ], cost: 1 7.13/3.19 7.13/3.19 9: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C && 7>=C ], cost: 1 7.13/3.19 7.13/3.19 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.19 7.13/3.19 13: evalcomplexbb6in -> evalcomplexbb8in : C'=E, D'=10+D, [], cost: 1 7.13/3.19 7.13/3.19 14: evalcomplexbb9in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [], cost: 1 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Simplified all rules, resulting in: 7.13/3.19 7.13/3.19 Start location: evalcomplexstart 7.13/3.19 7.13/3.19 0: evalcomplexstart -> evalcomplexentryin : [], cost: 1 7.13/3.19 7.13/3.19 1: evalcomplexentryin -> evalcomplexbb10in : A'=B, B'=A, [], cost: 1 7.13/3.19 7.13/3.19 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.19 7.13/3.19 4: evalcomplexbb8in -> evalcomplexbb1in : [ D>=1+C ], cost: 1 7.13/3.19 7.13/3.19 5: evalcomplexbb8in -> evalcomplexbb9in : [ C>=D ], cost: 1 7.13/3.19 7.13/3.19 7: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 ], cost: 1 7.13/3.19 7.13/3.19 9: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C ], cost: 1 7.13/3.19 7.13/3.19 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.19 7.13/3.19 13: evalcomplexbb6in -> evalcomplexbb8in : C'=E, D'=10+D, [], cost: 1 7.13/3.19 7.13/3.19 14: evalcomplexbb9in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [], cost: 1 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 ### Simplification by acceleration and chaining ### 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Removed unreachable locations (and leaf rules with constant cost): 7.13/3.19 7.13/3.19 Start location: evalcomplexstart 7.13/3.19 7.13/3.19 0: evalcomplexstart -> evalcomplexentryin : [], cost: 1 7.13/3.19 7.13/3.19 1: evalcomplexentryin -> evalcomplexbb10in : A'=B, B'=A, [], cost: 1 7.13/3.19 7.13/3.19 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.19 7.13/3.19 4: evalcomplexbb8in -> evalcomplexbb1in : [ D>=1+C ], cost: 1 7.13/3.19 7.13/3.19 5: evalcomplexbb8in -> evalcomplexbb9in : [ C>=D ], cost: 1 7.13/3.19 7.13/3.19 7: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 ], cost: 1 7.13/3.19 7.13/3.19 9: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C ], cost: 1 7.13/3.19 7.13/3.19 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.19 7.13/3.19 14: evalcomplexbb9in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [], cost: 1 7.13/3.19 7.13/3.19 7.13/3.19 7.13/3.19 Eliminated locations (on linear paths): 7.13/3.19 7.13/3.19 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.20 7.13/3.20 4: evalcomplexbb8in -> evalcomplexbb1in : [ D>=1+C ], cost: 1 7.13/3.20 7.13/3.20 17: evalcomplexbb8in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [ C>=D ], cost: 2 7.13/3.20 7.13/3.20 7: evalcomplexbb1in -> evalcomplexbb7in : E'=7+C, [ C>=6 ], cost: 1 7.13/3.20 7.13/3.20 9: evalcomplexbb1in -> evalcomplexbb7in : E'=2+C, [ 5>=C ], cost: 1 7.13/3.20 7.13/3.20 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Eliminated locations (on tree-shaped paths): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.20 7.13/3.20 17: evalcomplexbb8in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [ C>=D ], cost: 2 7.13/3.20 7.13/3.20 18: evalcomplexbb8in -> evalcomplexbb7in : E'=7+C, [ D>=1+C && C>=6 ], cost: 2 7.13/3.20 7.13/3.20 19: evalcomplexbb8in -> evalcomplexbb7in : E'=2+C, [ D>=1+C && 5>=C ], cost: 2 7.13/3.20 7.13/3.20 12: evalcomplexbb7in -> evalcomplexbb8in : C'=E, D'=1+D, [], cost: 1 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Eliminated locations (on tree-shaped paths): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.20 7.13/3.20 17: evalcomplexbb8in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [ C>=D ], cost: 2 7.13/3.20 7.13/3.20 20: evalcomplexbb8in -> evalcomplexbb8in : C'=7+C, D'=1+D, E'=7+C, [ D>=1+C && C>=6 ], cost: 3 7.13/3.20 7.13/3.20 21: evalcomplexbb8in -> evalcomplexbb8in : C'=2+C, D'=1+D, E'=2+C, [ D>=1+C && 5>=C ], cost: 3 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Accelerating simple loops of location 3. 7.13/3.20 7.13/3.20 Accelerating the following rules: 7.13/3.20 7.13/3.20 20: evalcomplexbb8in -> evalcomplexbb8in : C'=7+C, D'=1+D, E'=7+C, [ D>=1+C && C>=6 ], cost: 3 7.13/3.20 7.13/3.20 21: evalcomplexbb8in -> evalcomplexbb8in : C'=2+C, D'=1+D, E'=2+C, [ D>=1+C && 5>=C ], cost: 3 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Accelerated rule 20 with metering function meter (where 6*meter==-C+D), yielding the new rule 22. 7.13/3.20 7.13/3.20 Accelerated rule 21 with NONTERM (after adding C>=D), yielding the new rule 23. 7.13/3.20 7.13/3.20 Accelerated rule 21 with backward acceleration, yielding the new rule 24. 7.13/3.20 7.13/3.20 During metering: Instantiating temporary variables by {k==1} 7.13/3.20 7.13/3.20 Removing the simple loops: 20 21. 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Accelerated all simple loops using metering functions (where possible): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.20 7.13/3.20 17: evalcomplexbb8in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [ C>=D ], cost: 2 7.13/3.20 7.13/3.20 22: evalcomplexbb8in -> evalcomplexbb8in : C'=C+7*meter, D'=D+meter, E'=C+7*meter, [ D>=1+C && C>=6 && 6*meter==-C+D && meter>=1 ], cost: 3*meter 7.13/3.20 7.13/3.20 23: evalcomplexbb8in -> [10] : [ D>=1+C && 5>=C && C>=D ], cost: INF 7.13/3.20 7.13/3.20 24: evalcomplexbb8in -> evalcomplexbb8in : C'=2*k+C, D'=k+D, E'=2*k+C, [ D>=1+C && 5>=C && k>0 && -1+k+D>=-1+2*k+C && 5>=-2+2*k+C ], cost: 3*k 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Chained accelerated rules (with incoming rules): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.20 7.13/3.20 25: evalcomplexbb10in -> evalcomplexbb8in : C'=A+7*meter, D'=meter+B, E'=A+7*meter, [ 29>=B && B>=1+A && A>=6 && 6*meter==-A+B && meter>=1 ], cost: 1+3*meter 7.13/3.20 7.13/3.20 26: evalcomplexbb10in -> evalcomplexbb8in : C'=2*k+A, D'=k+B, E'=2*k+A, [ 29>=B && B>=1+A && 5>=A && k>0 && -1+k+B>=-1+2*k+A && 5>=-2+2*k+A ], cost: 1+3*k 7.13/3.20 7.13/3.20 17: evalcomplexbb8in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [ C>=D ], cost: 2 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Removed unreachable locations (and leaf rules with constant cost): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 2: evalcomplexbb10in -> evalcomplexbb8in : C'=A, D'=B, [ 29>=B ], cost: 1 7.13/3.20 7.13/3.20 25: evalcomplexbb10in -> evalcomplexbb8in : C'=A+7*meter, D'=meter+B, E'=A+7*meter, [ 29>=B && B>=1+A && A>=6 && 6*meter==-A+B && meter>=1 ], cost: 1+3*meter 7.13/3.20 7.13/3.20 26: evalcomplexbb10in -> evalcomplexbb8in : C'=2*k+A, D'=k+B, E'=2*k+A, [ 29>=B && B>=1+A && 5>=A && k>0 && -1+k+B>=-1+2*k+A && 5>=-2+2*k+A ], cost: 1+3*k 7.13/3.20 7.13/3.20 17: evalcomplexbb8in -> evalcomplexbb10in : A'=-10+C, B'=2+D, [ C>=D ], cost: 2 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Eliminated locations (on tree-shaped paths): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 27: evalcomplexbb10in -> evalcomplexbb10in : A'=-10+A, B'=2+B, C'=A, D'=B, [ 29>=B && A>=B ], cost: 3 7.13/3.20 7.13/3.20 28: evalcomplexbb10in -> evalcomplexbb10in : A'=-10+A+7*meter, B'=2+meter+B, C'=A+7*meter, D'=meter+B, E'=A+7*meter, [ 29>=B && B>=1+A && A>=6 && 6*meter==-A+B && meter>=1 ], cost: 3+3*meter 7.13/3.20 7.13/3.20 29: evalcomplexbb10in -> evalcomplexbb10in : A'=-10+2*k+A, B'=2+k+B, C'=2*k+A, D'=k+B, E'=2*k+A, [ 29>=B && B>=1+A && 5>=A && k>0 && -1+k+B>=-1+2*k+A && 5>=-2+2*k+A && 2*k+A>=k+B ], cost: 3+3*k 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Accelerating simple loops of location 2. 7.13/3.20 7.13/3.20 Simplified some of the simple loops (and removed duplicate rules). 7.13/3.20 7.13/3.20 Accelerating the following rules: 7.13/3.20 7.13/3.20 27: evalcomplexbb10in -> evalcomplexbb10in : A'=-10+A, B'=2+B, C'=A, D'=B, [ 29>=B && A>=B ], cost: 3 7.13/3.20 7.13/3.20 28: evalcomplexbb10in -> evalcomplexbb10in : A'=-10+A+7*meter, B'=2+meter+B, C'=A+7*meter, D'=meter+B, E'=A+7*meter, [ 29>=B && B>=1+A && A>=6 && 6*meter==-A+B && meter>=1 ], cost: 3+3*meter 7.13/3.20 7.13/3.20 29: evalcomplexbb10in -> evalcomplexbb10in : A'=-10-A+2*B, B'=2-A+2*B, C'=-A+2*B, D'=-A+2*B, E'=-A+2*B, [ 29>=B && B>=1+A && 5>=A && 5>=-2-A+2*B ], cost: 3-3*A+3*B 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Accelerated rule 27 with metering function meter_1 (where 12*meter_1==A-B) (after adding A<=B), yielding the new rule 30. 7.13/3.20 7.13/3.20 Accelerated rule 27 with backward acceleration, yielding the new rule 31. 7.13/3.20 7.13/3.20 During metering: Instantiating temporary variables by {meter==1} 7.13/3.20 7.13/3.20 Accelerated rule 28 with metering function meter_2 (where 6*meter_2==6+A-B), yielding the new rule 32. 7.13/3.20 7.13/3.20 Found no metering function for rule 29 (rule is too complicated). 7.13/3.20 7.13/3.20 During metering: Instantiating temporary variables by {k_1==1,meter==1} 7.13/3.20 7.13/3.20 Removing the simple loops: 27 28. 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Accelerated all simple loops using metering functions (where possible): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 29: evalcomplexbb10in -> evalcomplexbb10in : A'=-10-A+2*B, B'=2-A+2*B, C'=-A+2*B, D'=-A+2*B, E'=-A+2*B, [ 29>=B && B>=1+A && 5>=A && 5>=-2-A+2*B ], cost: 3-3*A+3*B 7.13/3.20 7.13/3.20 30: evalcomplexbb10in -> evalcomplexbb10in : A'=A-10*meter_1, B'=2*meter_1+B, C'=10+A-10*meter_1, D'=-2+2*meter_1+B, [ 29>=B && A>=B && A<=B && 12*meter_1==A-B && meter_1>=1 ], cost: 3*meter_1 7.13/3.20 7.13/3.20 31: evalcomplexbb10in -> evalcomplexbb10in : A'=-10*k_1+A, B'=2*k_1+B, C'=10-10*k_1+A, D'=-2+2*k_1+B, [ 29>=B && A>=B && k_1>0 && 29>=-2+2*k_1+B && 10-10*k_1+A>=-2+2*k_1+B ], cost: 3*k_1 7.13/3.20 7.13/3.20 32: evalcomplexbb10in -> evalcomplexbb10in : A'=A-3*meter_2, B'=3*meter_2+B, C'=10+A-3*meter_2, D'=-2+3*meter_2+B, E'=10+A-3*meter_2, [ 29>=B && A>=6 && 6==-A+B && 6*meter_2==6+A-B && meter_2>=1 ], cost: 6*meter_2 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Chained accelerated rules (with incoming rules): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 16: evalcomplexstart -> evalcomplexbb10in : A'=B, B'=A, [], cost: 2 7.13/3.20 7.13/3.20 33: evalcomplexstart -> evalcomplexbb10in : A'=-10+2*A-B, B'=2+2*A-B, C'=2*A-B, D'=2*A-B, E'=2*A-B, [ 29>=A && A>=1+B && 5>=B && 5>=-2+2*A-B ], cost: 5+3*A-3*B 7.13/3.20 7.13/3.20 34: evalcomplexstart -> evalcomplexbb10in : A'=-10*k_1+B, B'=2*k_1+A, C'=10-10*k_1+B, D'=-2+2*k_1+A, [ 29>=A && B>=A && k_1>0 && 29>=-2+2*k_1+A && 10-10*k_1+B>=-2+2*k_1+A ], cost: 2+3*k_1 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Removed unreachable locations (and leaf rules with constant cost): 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 33: evalcomplexstart -> evalcomplexbb10in : A'=-10+2*A-B, B'=2+2*A-B, C'=2*A-B, D'=2*A-B, E'=2*A-B, [ 29>=A && A>=1+B && 5>=B && 5>=-2+2*A-B ], cost: 5+3*A-3*B 7.13/3.20 7.13/3.20 34: evalcomplexstart -> evalcomplexbb10in : A'=-10*k_1+B, B'=2*k_1+A, C'=10-10*k_1+B, D'=-2+2*k_1+A, [ 29>=A && B>=A && k_1>0 && 29>=-2+2*k_1+A && 10-10*k_1+B>=-2+2*k_1+A ], cost: 2+3*k_1 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 ### Computing asymptotic complexity ### 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Fully simplified ITS problem 7.13/3.20 7.13/3.20 Start location: evalcomplexstart 7.13/3.20 7.13/3.20 33: evalcomplexstart -> evalcomplexbb10in : A'=-10+2*A-B, B'=2+2*A-B, C'=2*A-B, D'=2*A-B, E'=2*A-B, [ 29>=A && A>=1+B && 5>=B && 5>=-2+2*A-B ], cost: 5+3*A-3*B 7.13/3.20 7.13/3.20 34: evalcomplexstart -> evalcomplexbb10in : A'=-10*k_1+B, B'=2*k_1+A, C'=10-10*k_1+B, D'=-2+2*k_1+A, [ 29>=A && B>=A && k_1>0 && 29>=-2+2*k_1+A && 10-10*k_1+B>=-2+2*k_1+A ], cost: 2+3*k_1 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Computing asymptotic complexity for rule 33 7.13/3.20 7.13/3.20 Simplified the guard: 7.13/3.20 7.13/3.20 33: evalcomplexstart -> evalcomplexbb10in : A'=-10+2*A-B, B'=2+2*A-B, C'=2*A-B, D'=2*A-B, E'=2*A-B, [ A>=1+B && 5>=B && 5>=-2+2*A-B ], cost: 5+3*A-3*B 7.13/3.20 7.13/3.20 Solved the limit problem by the following transformations: 7.13/3.20 7.13/3.20 Created initial limit problem: 7.13/3.20 7.13/3.20 6-B (+/+!), 5+3*A-3*B (+), 8-2*A+B (+/+!), A-B (+/+!) [not solved] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 removing all constraints (solved by SMT) 7.13/3.20 7.13/3.20 resulting limit problem: [solved] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 applying transformation rule (C) using substitution {A==-n,B==-2*n} 7.13/3.20 7.13/3.20 resulting limit problem: 7.13/3.20 7.13/3.20 [solved] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Solution: 7.13/3.20 7.13/3.20 A / -n 7.13/3.20 7.13/3.20 B / -2*n 7.13/3.20 7.13/3.20 Resulting cost 5+3*n has complexity: Poly(n^1) 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Found new complexity Poly(n^1). 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Computing asymptotic complexity for rule 34 7.13/3.20 7.13/3.20 Simplified the guard: 7.13/3.20 7.13/3.20 34: evalcomplexstart -> evalcomplexbb10in : A'=-10*k_1+B, B'=2*k_1+A, C'=10-10*k_1+B, D'=-2+2*k_1+A, [ k_1>0 && 29>=-2+2*k_1+A && 10-10*k_1+B>=-2+2*k_1+A ], cost: 2+3*k_1 7.13/3.20 7.13/3.20 Solved the limit problem by the following transformations: 7.13/3.20 7.13/3.20 Created initial limit problem: 7.13/3.20 7.13/3.20 32-2*k_1-A (+/+!), k_1 (+/+!), 13-12*k_1-A+B (+/+!), 2+3*k_1 (+) [not solved] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 removing all constraints (solved by SMT) 7.13/3.20 7.13/3.20 resulting limit problem: [solved] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 applying transformation rule (C) using substitution {k_1==n,A==-2*n,B==10*n} 7.13/3.20 7.13/3.20 resulting limit problem: 7.13/3.20 7.13/3.20 [solved] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Solution: 7.13/3.20 7.13/3.20 k_1 / n 7.13/3.20 7.13/3.20 A / -2*n 7.13/3.20 7.13/3.20 B / 10*n 7.13/3.20 7.13/3.20 Resulting cost 2+3*n has complexity: Poly(n^1) 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 Obtained the following overall complexity (w.r.t. the length of the input n): 7.13/3.20 7.13/3.20 Complexity: Poly(n^1) 7.13/3.20 7.13/3.20 Cpx degree: 1 7.13/3.20 7.13/3.20 Solved cost: 5+3*n 7.13/3.20 7.13/3.20 Rule cost: 5+3*A-3*B 7.13/3.20 7.13/3.20 Rule guard: [ A>=1+B && 5>=B && 5>=-2+2*A-B ] 7.13/3.20 7.13/3.20 7.13/3.20 7.13/3.20 WORST_CASE(Omega(n^1),?) 7.13/3.20 7.13/3.20 7.13/3.20 ---------------------------------------- 7.13/3.20 7.13/3.20 (4) 7.13/3.20 BOUNDS(n^1, INF) 7.13/3.22 EOF