5.90/2.73 WORST_CASE(Omega(n^2), O(n^2)) 5.90/2.74 proof of /export/starexec/sandbox2/benchmark/theBenchmark.koat 5.90/2.74 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.90/2.74 5.90/2.74 5.90/2.74 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^2, n^2). 5.90/2.74 5.90/2.74 (0) CpxIntTrs 5.90/2.74 (1) Koat Proof [FINISHED, 113 ms] 5.90/2.74 (2) BOUNDS(1, n^2) 5.90/2.74 (3) Loat Proof [FINISHED, 1129 ms] 5.90/2.74 (4) BOUNDS(n^2, INF) 5.90/2.74 5.90/2.74 5.90/2.74 ---------------------------------------- 5.90/2.74 5.90/2.74 (0) 5.90/2.74 Obligation: 5.90/2.74 Complexity Int TRS consisting of the following rules: 5.90/2.74 evalinsertsortstart(A, B, C, D) -> Com_1(evalinsertsortentryin(A, B, C, D)) :|: TRUE 5.90/2.74 evalinsertsortentryin(A, B, C, D) -> Com_1(evalinsertsortbb5in(1, B, C, D)) :|: TRUE 5.90/2.74 evalinsertsortbb5in(A, B, C, D) -> Com_1(evalinsertsortbbin(A, B, C, D)) :|: B >= A + 1 5.90/2.74 evalinsertsortbb5in(A, B, C, D) -> Com_1(evalinsertsortreturnin(A, B, C, D)) :|: A >= B 5.90/2.74 evalinsertsortbbin(A, B, C, D) -> Com_1(evalinsertsortbb2in(A, B, E, A - 1)) :|: TRUE 5.90/2.74 evalinsertsortbb2in(A, B, C, D) -> Com_1(evalinsertsortbb4in(A, B, C, D)) :|: 0 >= D + 1 5.90/2.74 evalinsertsortbb2in(A, B, C, D) -> Com_1(evalinsertsortbb3in(A, B, C, D)) :|: D >= 0 5.90/2.74 evalinsertsortbb3in(A, B, C, D) -> Com_1(evalinsertsortbb1in(A, B, C, D)) :|: E >= C + 1 5.90/2.74 evalinsertsortbb3in(A, B, C, D) -> Com_1(evalinsertsortbb4in(A, B, C, D)) :|: C >= E 5.90/2.74 evalinsertsortbb1in(A, B, C, D) -> Com_1(evalinsertsortbb2in(A, B, C, D - 1)) :|: TRUE 5.90/2.74 evalinsertsortbb4in(A, B, C, D) -> Com_1(evalinsertsortbb5in(A + 1, B, C, D)) :|: TRUE 5.90/2.74 evalinsertsortreturnin(A, B, C, D) -> Com_1(evalinsertsortstop(A, B, C, D)) :|: TRUE 5.90/2.74 5.90/2.74 The start-symbols are:[evalinsertsortstart_4] 5.90/2.74 5.90/2.74 5.90/2.74 ---------------------------------------- 5.90/2.74 5.90/2.74 (1) Koat Proof (FINISHED) 5.90/2.74 YES(?, 41*ar_1 + 6*ar_1^2 + 6) 5.90/2.74 5.90/2.74 5.90/2.74 5.90/2.74 Initial complexity problem: 5.90/2.74 5.90/2.74 1: T: 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.74 5.90/2.74 start location: koat_start 5.90/2.74 5.90/2.74 leaf cost: 0 5.90/2.74 5.90/2.74 5.90/2.74 5.90/2.74 Repeatedly propagating knowledge in problem 1 produces the following problem: 5.90/2.74 5.90/2.74 2: T: 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.74 5.90/2.74 start location: koat_start 5.90/2.74 5.90/2.74 leaf cost: 0 5.90/2.74 5.90/2.74 5.90/2.74 5.90/2.74 A polynomial rank function with 5.90/2.74 5.90/2.74 Pol(evalinsertsortstart) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortentryin) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb5in) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbbin) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortreturnin) = 1 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb2in) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb4in) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb3in) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb1in) = 2 5.90/2.74 5.90/2.74 Pol(evalinsertsortstop) = 0 5.90/2.74 5.90/2.74 Pol(koat_start) = 2 5.90/2.74 5.90/2.74 orients all transitions weakly and the transitions 5.90/2.74 5.90/2.74 evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.74 5.90/2.74 strictly and produces the following problem: 5.90/2.74 5.90/2.74 3: T: 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.74 5.90/2.74 (Comp: 2, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 2, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.74 5.90/2.74 start location: koat_start 5.90/2.74 5.90/2.74 leaf cost: 0 5.90/2.74 5.90/2.74 5.90/2.74 5.90/2.74 A polynomial rank function with 5.90/2.74 5.90/2.74 Pol(evalinsertsortstart) = V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortentryin) = V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb5in) = -V_1 + V_2 + 1 5.90/2.74 5.90/2.74 Pol(evalinsertsortbbin) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortreturnin) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb2in) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb4in) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb3in) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortbb1in) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(evalinsertsortstop) = -V_1 + V_2 5.90/2.74 5.90/2.74 Pol(koat_start) = V_2 5.90/2.74 5.90/2.74 orients all transitions weakly and the transition 5.90/2.74 5.90/2.74 evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.74 5.90/2.74 strictly and produces the following problem: 5.90/2.74 5.90/2.74 4: T: 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ar_1, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.74 5.90/2.74 (Comp: 2, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 2, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.74 5.90/2.74 start location: koat_start 5.90/2.74 5.90/2.74 leaf cost: 0 5.90/2.74 5.90/2.74 5.90/2.74 5.90/2.74 Repeatedly propagating knowledge in problem 4 produces the following problem: 5.90/2.74 5.90/2.74 5: T: 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.74 5.90/2.74 (Comp: ar_1, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.74 5.90/2.74 (Comp: 2, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.74 5.90/2.74 (Comp: ar_1, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.74 5.90/2.74 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.75 5.90/2.75 start location: koat_start 5.90/2.75 5.90/2.75 leaf cost: 0 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 A polynomial rank function with 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb4in) = 1 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb5in) = 0 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb3in) = 2 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb1in) = 2 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb2in) = 2 5.90/2.75 5.90/2.75 and size complexities 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-0) = ar_0 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-2) = ar_2 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-3) = ar_3 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-0) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-0) = 1 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-2) = ar_2 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-3) = ar_3 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-0) = ar_0 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-2) = ar_2 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-3) = ar_3 5.90/2.75 5.90/2.75 orients the transitions 5.90/2.75 5.90/2.75 evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.75 5.90/2.75 evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.75 5.90/2.75 evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.75 5.90/2.75 evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.75 5.90/2.75 weakly and the transitions 5.90/2.75 5.90/2.75 evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.75 5.90/2.75 evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.75 5.90/2.75 strictly and produces the following problem: 5.90/2.75 5.90/2.75 6: T: 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: ar_1, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.75 5.90/2.75 (Comp: ar_1, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.75 5.90/2.75 start location: koat_start 5.90/2.75 5.90/2.75 leaf cost: 0 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 A polynomial rank function with 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb3in) = V_4 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb1in) = V_4 5.90/2.75 5.90/2.75 Pol(evalinsertsortbb2in) = V_4 + 1 5.90/2.75 5.90/2.75 and size complexities 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-0) = ar_0 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-2) = ar_2 5.90/2.75 5.90/2.75 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-3) = ar_3 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-0) = 2*ar_1 + 20 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1))", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1))", 0-3) = 2*ar_1 + 10 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-0) = 2*ar_1 + 10 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-0) = 2*ar_1 + 4 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-2) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ]", 0-3) = ? 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-0) = 1 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-2) = ar_2 5.90/2.75 5.90/2.75 S("evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3))", 0-3) = ar_3 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-0) = ar_0 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-2) = ar_2 5.90/2.75 5.90/2.75 S("evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3))", 0-3) = ar_3 5.90/2.75 5.90/2.75 orients the transitions 5.90/2.75 5.90/2.75 evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.75 5.90/2.75 evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.75 5.90/2.75 weakly and the transition 5.90/2.75 5.90/2.75 evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 strictly and produces the following problem: 5.90/2.75 5.90/2.75 7: T: 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: ar_1, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.75 5.90/2.75 (Comp: ar_1, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1^2 + 11*ar_1, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.75 5.90/2.75 (Comp: ?, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.75 5.90/2.75 start location: koat_start 5.90/2.75 5.90/2.75 leaf cost: 0 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Repeatedly propagating knowledge in problem 7 produces the following problem: 5.90/2.75 5.90/2.75 8: T: 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 1) evalinsertsortstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 1) evalinsertsortentryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: ar_1, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3)) [ ar_1 >= ar_0 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] 5.90/2.75 5.90/2.75 (Comp: ar_1, Cost: 1) evalinsertsortbbin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, e, ar_0 - 1)) 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_3 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1^2 + 11*ar_1, Cost: 1) evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 0 ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1^2 + 11*ar_1, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= ar_2 + 1 ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= e ] 5.90/2.75 5.90/2.75 (Comp: 2*ar_1^2 + 11*ar_1, Cost: 1) evalinsertsortbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb2in(ar_0, ar_1, ar_2, ar_3 - 1)) 5.90/2.75 5.90/2.75 (Comp: 2*ar_1, Cost: 1) evalinsertsortbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortbb5in(ar_0 + 1, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 2, Cost: 1) evalinsertsortreturnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstop(ar_0, ar_1, ar_2, ar_3)) 5.90/2.75 5.90/2.75 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalinsertsortstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.90/2.75 5.90/2.75 start location: koat_start 5.90/2.75 5.90/2.75 leaf cost: 0 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Complexity upper bound 41*ar_1 + 6*ar_1^2 + 6 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Time: 0.139 sec (SMT: 0.117 sec) 5.90/2.75 5.90/2.75 5.90/2.75 ---------------------------------------- 5.90/2.75 5.90/2.75 (2) 5.90/2.75 BOUNDS(1, n^2) 5.90/2.75 5.90/2.75 ---------------------------------------- 5.90/2.75 5.90/2.75 (3) Loat Proof (FINISHED) 5.90/2.75 5.90/2.75 5.90/2.75 ### Pre-processing the ITS problem ### 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Initial linear ITS problem 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 0: evalinsertsortstart -> evalinsertsortentryin : [], cost: 1 5.90/2.75 5.90/2.75 1: evalinsertsortentryin -> evalinsertsortbb5in : A'=1, [], cost: 1 5.90/2.75 5.90/2.75 2: evalinsertsortbb5in -> evalinsertsortbbin : [ B>=1+A ], cost: 1 5.90/2.75 5.90/2.75 3: evalinsertsortbb5in -> evalinsertsortreturnin : [ A>=B ], cost: 1 5.90/2.75 5.90/2.75 4: evalinsertsortbbin -> evalinsertsortbb2in : C'=free, D'=-1+A, [], cost: 1 5.90/2.75 5.90/2.75 5: evalinsertsortbb2in -> evalinsertsortbb4in : [ 0>=1+D ], cost: 1 5.90/2.75 5.90/2.75 6: evalinsertsortbb2in -> evalinsertsortbb3in : [ D>=0 ], cost: 1 5.90/2.75 5.90/2.75 7: evalinsertsortbb3in -> evalinsertsortbb1in : [ free_1>=1+C ], cost: 1 5.90/2.75 5.90/2.75 8: evalinsertsortbb3in -> evalinsertsortbb4in : [ C>=free_2 ], cost: 1 5.90/2.75 5.90/2.75 9: evalinsertsortbb1in -> evalinsertsortbb2in : D'=-1+D, [], cost: 1 5.90/2.75 5.90/2.75 10: evalinsertsortbb4in -> evalinsertsortbb5in : A'=1+A, [], cost: 1 5.90/2.75 5.90/2.75 11: evalinsertsortreturnin -> evalinsertsortstop : [], cost: 1 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Removed unreachable and leaf rules: 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 0: evalinsertsortstart -> evalinsertsortentryin : [], cost: 1 5.90/2.75 5.90/2.75 1: evalinsertsortentryin -> evalinsertsortbb5in : A'=1, [], cost: 1 5.90/2.75 5.90/2.75 2: evalinsertsortbb5in -> evalinsertsortbbin : [ B>=1+A ], cost: 1 5.90/2.75 5.90/2.75 4: evalinsertsortbbin -> evalinsertsortbb2in : C'=free, D'=-1+A, [], cost: 1 5.90/2.75 5.90/2.75 5: evalinsertsortbb2in -> evalinsertsortbb4in : [ 0>=1+D ], cost: 1 5.90/2.75 5.90/2.75 6: evalinsertsortbb2in -> evalinsertsortbb3in : [ D>=0 ], cost: 1 5.90/2.75 5.90/2.75 7: evalinsertsortbb3in -> evalinsertsortbb1in : [ free_1>=1+C ], cost: 1 5.90/2.75 5.90/2.75 8: evalinsertsortbb3in -> evalinsertsortbb4in : [ C>=free_2 ], cost: 1 5.90/2.75 5.90/2.75 9: evalinsertsortbb1in -> evalinsertsortbb2in : D'=-1+D, [], cost: 1 5.90/2.75 5.90/2.75 10: evalinsertsortbb4in -> evalinsertsortbb5in : A'=1+A, [], cost: 1 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Simplified all rules, resulting in: 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 0: evalinsertsortstart -> evalinsertsortentryin : [], cost: 1 5.90/2.75 5.90/2.75 1: evalinsertsortentryin -> evalinsertsortbb5in : A'=1, [], cost: 1 5.90/2.75 5.90/2.75 2: evalinsertsortbb5in -> evalinsertsortbbin : [ B>=1+A ], cost: 1 5.90/2.75 5.90/2.75 4: evalinsertsortbbin -> evalinsertsortbb2in : C'=free, D'=-1+A, [], cost: 1 5.90/2.75 5.90/2.75 5: evalinsertsortbb2in -> evalinsertsortbb4in : [ 0>=1+D ], cost: 1 5.90/2.75 5.90/2.75 6: evalinsertsortbb2in -> evalinsertsortbb3in : [ D>=0 ], cost: 1 5.90/2.75 5.90/2.75 7: evalinsertsortbb3in -> evalinsertsortbb1in : [], cost: 1 5.90/2.75 5.90/2.75 8: evalinsertsortbb3in -> evalinsertsortbb4in : [], cost: 1 5.90/2.75 5.90/2.75 9: evalinsertsortbb1in -> evalinsertsortbb2in : D'=-1+D, [], cost: 1 5.90/2.75 5.90/2.75 10: evalinsertsortbb4in -> evalinsertsortbb5in : A'=1+A, [], cost: 1 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 ### Simplification by acceleration and chaining ### 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Eliminated locations (on linear paths): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 13: evalinsertsortbb5in -> evalinsertsortbb2in : C'=free, D'=-1+A, [ B>=1+A ], cost: 2 5.90/2.75 5.90/2.75 5: evalinsertsortbb2in -> evalinsertsortbb4in : [ 0>=1+D ], cost: 1 5.90/2.75 5.90/2.75 6: evalinsertsortbb2in -> evalinsertsortbb3in : [ D>=0 ], cost: 1 5.90/2.75 5.90/2.75 8: evalinsertsortbb3in -> evalinsertsortbb4in : [], cost: 1 5.90/2.75 5.90/2.75 14: evalinsertsortbb3in -> evalinsertsortbb2in : D'=-1+D, [], cost: 2 5.90/2.75 5.90/2.75 10: evalinsertsortbb4in -> evalinsertsortbb5in : A'=1+A, [], cost: 1 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Eliminated locations (on tree-shaped paths): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 13: evalinsertsortbb5in -> evalinsertsortbb2in : C'=free, D'=-1+A, [ B>=1+A ], cost: 2 5.90/2.75 5.90/2.75 16: evalinsertsortbb2in -> evalinsertsortbb2in : D'=-1+D, [ D>=0 ], cost: 3 5.90/2.75 5.90/2.75 17: evalinsertsortbb2in -> evalinsertsortbb5in : A'=1+A, [ 0>=1+D ], cost: 2 5.90/2.75 5.90/2.75 18: evalinsertsortbb2in -> evalinsertsortbb5in : A'=1+A, [ D>=0 ], cost: 3 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Accelerating simple loops of location 4. 5.90/2.75 5.90/2.75 Accelerating the following rules: 5.90/2.75 5.90/2.75 16: evalinsertsortbb2in -> evalinsertsortbb2in : D'=-1+D, [ D>=0 ], cost: 3 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Accelerated rule 16 with metering function 1+D, yielding the new rule 19. 5.90/2.75 5.90/2.75 Removing the simple loops: 16. 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Accelerated all simple loops using metering functions (where possible): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 13: evalinsertsortbb5in -> evalinsertsortbb2in : C'=free, D'=-1+A, [ B>=1+A ], cost: 2 5.90/2.75 5.90/2.75 17: evalinsertsortbb2in -> evalinsertsortbb5in : A'=1+A, [ 0>=1+D ], cost: 2 5.90/2.75 5.90/2.75 18: evalinsertsortbb2in -> evalinsertsortbb5in : A'=1+A, [ D>=0 ], cost: 3 5.90/2.75 5.90/2.75 19: evalinsertsortbb2in -> evalinsertsortbb2in : D'=-1, [ D>=0 ], cost: 3+3*D 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Chained accelerated rules (with incoming rules): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 13: evalinsertsortbb5in -> evalinsertsortbb2in : C'=free, D'=-1+A, [ B>=1+A ], cost: 2 5.90/2.75 5.90/2.75 20: evalinsertsortbb5in -> evalinsertsortbb2in : C'=free, D'=-1, [ B>=1+A && -1+A>=0 ], cost: 2+3*A 5.90/2.75 5.90/2.75 17: evalinsertsortbb2in -> evalinsertsortbb5in : A'=1+A, [ 0>=1+D ], cost: 2 5.90/2.75 5.90/2.75 18: evalinsertsortbb2in -> evalinsertsortbb5in : A'=1+A, [ D>=0 ], cost: 3 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Eliminated locations (on tree-shaped paths): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 21: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1+A, C'=free, D'=-1+A, [ B>=1+A && 0>=A ], cost: 4 5.90/2.75 5.90/2.75 22: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1+A, C'=free, D'=-1+A, [ B>=1+A && -1+A>=0 ], cost: 5 5.90/2.75 5.90/2.75 23: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1+A, C'=free, D'=-1, [ B>=1+A && -1+A>=0 ], cost: 4+3*A 5.90/2.75 5.90/2.75 24: evalinsertsortbb5in -> [11] : [ B>=1+A && -1+A>=0 ], cost: 2+3*A 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Accelerating simple loops of location 2. 5.90/2.75 5.90/2.75 Accelerating the following rules: 5.90/2.75 5.90/2.75 21: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1+A, C'=free, D'=-1+A, [ B>=1+A && 0>=A ], cost: 4 5.90/2.75 5.90/2.75 22: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1+A, C'=free, D'=-1+A, [ B>=1+A && -1+A>=0 ], cost: 5 5.90/2.75 5.90/2.75 23: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1+A, C'=free, D'=-1, [ B>=1+A && -1+A>=0 ], cost: 4+3*A 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Accelerated rule 21 with backward acceleration, yielding the new rule 25. 5.90/2.75 5.90/2.75 Accelerated rule 21 with backward acceleration, yielding the new rule 26. 5.90/2.75 5.90/2.75 Accelerated rule 22 with metering function -A+B, yielding the new rule 27. 5.90/2.75 5.90/2.75 Accelerated rule 23 with metering function -A+B, yielding the new rule 28. 5.90/2.75 5.90/2.75 Removing the simple loops: 21 22 23. 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Accelerated all simple loops using metering functions (where possible): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 24: evalinsertsortbb5in -> [11] : [ B>=1+A && -1+A>=0 ], cost: 2+3*A 5.90/2.75 5.90/2.75 25: evalinsertsortbb5in -> evalinsertsortbb5in : A'=B, C'=free, D'=-2+B, [ B>=1+A && 0>=A && 0>=-1+B ], cost: -4*A+4*B 5.90/2.75 5.90/2.75 26: evalinsertsortbb5in -> evalinsertsortbb5in : A'=1, C'=free, D'=-1, [ B>=1+A && 0>=A && B>=1 ], cost: 4-4*A 5.90/2.75 5.90/2.75 27: evalinsertsortbb5in -> evalinsertsortbb5in : A'=B, C'=free, D'=-2+B, [ B>=1+A && -1+A>=0 ], cost: -5*A+5*B 5.90/2.75 5.90/2.75 28: evalinsertsortbb5in -> evalinsertsortbb5in : A'=B, C'=free, D'=-1, [ B>=1+A && -1+A>=0 ], cost: 3/2*(A-B)^2-5/2*A-3*A*(A-B)+5/2*B 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Chained accelerated rules (with incoming rules): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 12: evalinsertsortstart -> evalinsertsortbb5in : A'=1, [], cost: 2 5.90/2.75 5.90/2.75 29: evalinsertsortstart -> evalinsertsortbb5in : A'=B, C'=free, D'=-2+B, [ B>=2 ], cost: -3+5*B 5.90/2.75 5.90/2.75 30: evalinsertsortstart -> evalinsertsortbb5in : A'=B, C'=free, D'=-1, [ B>=2 ], cost: -7/2+3/2*(-1+B)^2+11/2*B 5.90/2.75 5.90/2.75 24: evalinsertsortbb5in -> [11] : [ B>=1+A && -1+A>=0 ], cost: 2+3*A 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Eliminated locations (on tree-shaped paths): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 31: evalinsertsortstart -> [11] : A'=1, [ B>=2 ], cost: 7 5.90/2.75 5.90/2.75 32: evalinsertsortstart -> [13] : [ B>=2 ], cost: -3+5*B 5.90/2.75 5.90/2.75 33: evalinsertsortstart -> [13] : [ B>=2 ], cost: -7/2+3/2*(-1+B)^2+11/2*B 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Applied pruning (of leafs and parallel rules): 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 32: evalinsertsortstart -> [13] : [ B>=2 ], cost: -3+5*B 5.90/2.75 5.90/2.75 33: evalinsertsortstart -> [13] : [ B>=2 ], cost: -7/2+3/2*(-1+B)^2+11/2*B 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 ### Computing asymptotic complexity ### 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Fully simplified ITS problem 5.90/2.75 5.90/2.75 Start location: evalinsertsortstart 5.90/2.75 5.90/2.75 32: evalinsertsortstart -> [13] : [ B>=2 ], cost: -3+5*B 5.90/2.75 5.90/2.75 33: evalinsertsortstart -> [13] : [ B>=2 ], cost: -7/2+3/2*(-1+B)^2+11/2*B 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Computing asymptotic complexity for rule 32 5.90/2.75 5.90/2.75 Solved the limit problem by the following transformations: 5.90/2.75 5.90/2.75 Created initial limit problem: 5.90/2.75 5.90/2.75 -1+B (+/+!), -3+5*B (+) [not solved] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 removing all constraints (solved by SMT) 5.90/2.75 5.90/2.75 resulting limit problem: [solved] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 applying transformation rule (C) using substitution {B==n} 5.90/2.75 5.90/2.75 resulting limit problem: 5.90/2.75 5.90/2.75 [solved] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Solution: 5.90/2.75 5.90/2.75 B / n 5.90/2.75 5.90/2.75 Resulting cost -3+5*n has complexity: Poly(n^1) 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Found new complexity Poly(n^1). 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Computing asymptotic complexity for rule 33 5.90/2.75 5.90/2.75 Solved the limit problem by the following transformations: 5.90/2.75 5.90/2.75 Created initial limit problem: 5.90/2.75 5.90/2.75 -1+B (+/+!), -2+3/2*B^2+5/2*B (+) [not solved] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 removing all constraints (solved by SMT) 5.90/2.75 5.90/2.75 resulting limit problem: [solved] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 applying transformation rule (C) using substitution {B==n} 5.90/2.75 5.90/2.75 resulting limit problem: 5.90/2.75 5.90/2.75 [solved] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Solution: 5.90/2.75 5.90/2.75 B / n 5.90/2.75 5.90/2.75 Resulting cost -2+5/2*n+3/2*n^2 has complexity: Poly(n^2) 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Found new complexity Poly(n^2). 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 Obtained the following overall complexity (w.r.t. the length of the input n): 5.90/2.75 5.90/2.75 Complexity: Poly(n^2) 5.90/2.75 5.90/2.75 Cpx degree: 2 5.90/2.75 5.90/2.75 Solved cost: -2+5/2*n+3/2*n^2 5.90/2.75 5.90/2.75 Rule cost: -7/2+3/2*(-1+B)^2+11/2*B 5.90/2.75 5.90/2.75 Rule guard: [ B>=2 ] 5.90/2.75 5.90/2.75 5.90/2.75 5.90/2.75 WORST_CASE(Omega(n^2),?) 5.90/2.75 5.90/2.75 5.90/2.75 ---------------------------------------- 5.90/2.75 5.90/2.75 (4) 5.90/2.75 BOUNDS(n^2, INF) 5.97/2.77 EOF