/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.koat /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^2), O(n^2)) proof of /export/starexec/sandbox/benchmark/theBenchmark.koat # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^2, n^2). (0) CpxIntTrs (1) Koat Proof [FINISHED, 124 ms] (2) BOUNDS(1, n^2) (3) Loat Proof [FINISHED, 924 ms] (4) BOUNDS(n^2, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: evalrealbubblestart(A, B, C, D) -> Com_1(evalrealbubbleentryin(A, B, C, D)) :|: TRUE evalrealbubbleentryin(A, B, C, D) -> Com_1(evalrealbubblebb7in(A - 1, B, C, D)) :|: TRUE evalrealbubblebb7in(A, B, C, D) -> Com_1(evalrealbubblebb4in(A, 0, 0, D)) :|: A >= 1 evalrealbubblebb7in(A, B, C, D) -> Com_1(evalrealbubblereturnin(A, B, C, D)) :|: 0 >= A evalrealbubblebb4in(A, B, C, D) -> Com_1(evalrealbubblebb1in(A, B, C, D)) :|: A >= B + 1 evalrealbubblebb4in(A, B, C, D) -> Com_1(evalrealbubblebb5in(A, B, C, D)) :|: B >= A evalrealbubblebb1in(A, B, C, D) -> Com_1(evalrealbubblebb2in(A, B, C, D)) :|: E >= F + 1 evalrealbubblebb1in(A, B, C, D) -> Com_1(evalrealbubblebb3in(A, B, C, C)) :|: F >= E evalrealbubblebb2in(A, B, C, D) -> Com_1(evalrealbubblebb3in(A, B, C, 1)) :|: TRUE evalrealbubblebb3in(A, B, C, D) -> Com_1(evalrealbubblebb4in(A, B + 1, D, D)) :|: TRUE evalrealbubblebb5in(A, B, C, D) -> Com_1(evalrealbubblereturnin(A, B, C, D)) :|: C >= 0 && C <= 0 evalrealbubblebb5in(A, B, C, D) -> Com_1(evalrealbubblebb6in(A, B, C, D)) :|: 0 >= C + 1 evalrealbubblebb5in(A, B, C, D) -> Com_1(evalrealbubblebb6in(A, B, C, D)) :|: C >= 1 evalrealbubblebb6in(A, B, C, D) -> Com_1(evalrealbubblebb7in(A - 1, B, C, D)) :|: TRUE evalrealbubblereturnin(A, B, C, D) -> Com_1(evalrealbubblestop(A, B, C, D)) :|: TRUE The start-symbols are:[evalrealbubblestart_4] ---------------------------------------- (1) Koat Proof (FINISHED) YES(?, 115*Ar_0 + 24*Ar_0^2 + 8) Initial complexity problem: 1: T: (Comp: ?, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: ?, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: ?, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: ?, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: ?, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: ?, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Repeatedly propagating knowledge in problem 1 produces the following problem: 2: T: (Comp: 1, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: ?, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: ?, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: ?, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: ?, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalrealbubblestart) = 2 Pol(evalrealbubbleentryin) = 2 Pol(evalrealbubblebb7in) = 2 Pol(evalrealbubblebb4in) = 2 Pol(evalrealbubblereturnin) = 1 Pol(evalrealbubblebb1in) = 2 Pol(evalrealbubblebb5in) = 2 Pol(evalrealbubblebb2in) = 2 Pol(evalrealbubblebb3in) = 2 Pol(evalrealbubblebb6in) = 2 Pol(evalrealbubblestop) = 0 Pol(koat_start) = 2 orients all transitions weakly and the transitions evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] strictly and produces the following problem: 3: T: (Comp: 1, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: ?, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: 2, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: ?, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: ?, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: ?, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalrealbubblestart) = V_1 Pol(evalrealbubbleentryin) = V_1 Pol(evalrealbubblebb7in) = V_1 + 1 Pol(evalrealbubblebb4in) = V_1 Pol(evalrealbubblereturnin) = V_1 Pol(evalrealbubblebb1in) = V_1 Pol(evalrealbubblebb5in) = V_1 Pol(evalrealbubblebb2in) = V_1 Pol(evalrealbubblebb3in) = V_1 Pol(evalrealbubblebb6in) = V_1 Pol(evalrealbubblestop) = V_1 Pol(koat_start) = V_1 orients all transitions weakly and the transition evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] strictly and produces the following problem: 4: T: (Comp: 1, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: Ar_0, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: 2, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: ?, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: ?, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: ?, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalrealbubblebb6in) = 1 Pol(evalrealbubblebb7in) = 0 Pol(evalrealbubblebb5in) = 2 Pol(evalrealbubblebb4in) = 3 Pol(evalrealbubblebb1in) = 3 Pol(evalrealbubblebb3in) = 3 Pol(evalrealbubblebb2in) = 3 and size complexities S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-0) = Ar_0 S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-1) = Ar_1 S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-2) = Ar_2 S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-3) = Ar_3 S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-0) = ? S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-1) = ? S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-2) = Ar_2 + 1 S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-3) = Ar_3 + 2 S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-0) = ? S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-1) = ? S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-2) = 1 S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-3) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-0) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-1) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-2) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-3) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-0) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-1) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-2) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-3) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-0) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-1) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-2) = 0 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-3) = 1 S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-0) = ? S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-1) = ? S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-2) = 1 S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-3) = 1 S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-0) = ? S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-1) = ? S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-2) = 1 S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-3) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-0) = ? S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-1) = ? S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-2) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-3) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-0) = ? S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-1) = ? S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-2) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-3) = Ar_3 + 2 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-0) = ? S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-1) = ? S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-2) = 1 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-3) = 1 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-0) = ? S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-1) = ? S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-2) = 1 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-3) = Ar_3 + 2 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-0) = ? S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-1) = ? S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-2) = Ar_2 + 1 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-3) = Ar_3 + 1 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-0) = ? S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-1) = 0 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-2) = 0 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-3) = Ar_3 + 1 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-0) = Ar_0 + 1 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-1) = Ar_1 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-2) = Ar_2 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-3) = Ar_3 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-0) = Ar_0 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-1) = Ar_1 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-2) = Ar_2 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-3) = Ar_3 orients the transitions evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] weakly and the transitions evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] strictly and produces the following problem: 5: T: (Comp: 1, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: Ar_0, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: 2, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: ?, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: ?, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalrealbubblebb4in) = V_1 - V_2 + 1 Pol(evalrealbubblebb1in) = V_1 - V_2 Pol(evalrealbubblebb3in) = V_1 - V_2 Pol(evalrealbubblebb2in) = V_1 - V_2 and size complexities S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-0) = Ar_0 S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-1) = Ar_1 S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-2) = Ar_2 S("koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ]", 0-3) = Ar_3 S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-0) = 4*Ar_0 + 256 S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-1) = ? S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-2) = Ar_2 + 1 S("evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3))", 0-3) = Ar_3 + 2 S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-1) = ? S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-2) = 1 S("evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-3) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-1) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-2) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ]", 0-3) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-1) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-2) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ]", 0-3) = 1 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-0) = 4*Ar_0 + 64 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-1) = ? S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-2) = 0 S("evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ]", 0-3) = 1 S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-1) = ? S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-2) = 1 S("evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3))", 0-3) = 1 S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-1) = ? S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-2) = 1 S("evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1))", 0-3) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-1) = ? S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-2) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ]", 0-3) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-1) = ? S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-2) = 1 S("evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ]", 0-3) = Ar_3 + 2 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-1) = ? S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-2) = 1 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ]", 0-3) = 1 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-1) = ? S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-2) = 1 S("evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ]", 0-3) = Ar_3 + 2 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-0) = 4*Ar_0 + 64 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-1) = ? S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-2) = Ar_2 + 1 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ]", 0-3) = Ar_3 + 1 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-0) = 4*Ar_0 + 16 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-1) = 0 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-2) = 0 S("evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ]", 0-3) = Ar_3 + 1 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-0) = Ar_0 + 1 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-1) = Ar_1 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-2) = Ar_2 S("evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3))", 0-3) = Ar_3 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-0) = Ar_0 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-1) = Ar_1 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-2) = Ar_2 S("evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3))", 0-3) = Ar_3 orients the transitions evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] weakly and the transition evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] strictly and produces the following problem: 6: T: (Comp: 1, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: Ar_0, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: 2, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: 4*Ar_0^2 + 17*Ar_0, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: ?, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: ?, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: ?, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Repeatedly propagating knowledge in problem 6 produces the following problem: 7: T: (Comp: 1, Cost: 1) evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 1) evalrealbubbleentryin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: Ar_0, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, 0, 0, Ar_3)) [ Ar_0 >= 1 ] (Comp: 2, Cost: 1) evalrealbubblebb7in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_0 ] (Comp: 4*Ar_0^2 + 17*Ar_0, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_0 >= Ar_1 + 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb4in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_1 >= Ar_0 ] (Comp: 4*Ar_0^2 + 17*Ar_0, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3)) [ E >= F + 1 ] (Comp: 4*Ar_0^2 + 17*Ar_0, Cost: 1) evalrealbubblebb1in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_2)) [ E >= F ] (Comp: 4*Ar_0^2 + 17*Ar_0, Cost: 1) evalrealbubblebb2in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, 1)) (Comp: 8*Ar_0^2 + 34*Ar_0, Cost: 1) evalrealbubblebb3in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb4in(Ar_0, Ar_1 + 1, Ar_3, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 = 0 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 >= Ar_2 + 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb5in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3)) [ Ar_2 >= 1 ] (Comp: 3*Ar_0, Cost: 1) evalrealbubblebb6in(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblebb7in(Ar_0 - 1, Ar_1, Ar_2, Ar_3)) (Comp: 2, Cost: 1) evalrealbubblereturnin(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestop(Ar_0, Ar_1, Ar_2, Ar_3)) (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3) -> Com_1(evalrealbubblestart(Ar_0, Ar_1, Ar_2, Ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Complexity upper bound 115*Ar_0 + 24*Ar_0^2 + 8 Time: 0.150 sec (SMT: 0.116 sec) ---------------------------------------- (2) BOUNDS(1, n^2) ---------------------------------------- (3) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: evalrealbubblestart 0: evalrealbubblestart -> evalrealbubbleentryin : [], cost: 1 1: evalrealbubbleentryin -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 3: evalrealbubblebb7in -> evalrealbubblereturnin : [ 0>=A ], cost: 1 4: evalrealbubblebb4in -> evalrealbubblebb1in : [ A>=1+B ], cost: 1 5: evalrealbubblebb4in -> evalrealbubblebb5in : [ B>=A ], cost: 1 6: evalrealbubblebb1in -> evalrealbubblebb2in : [ free_1>=1+free ], cost: 1 7: evalrealbubblebb1in -> evalrealbubblebb3in : D'=C, [ free_3>=free_2 ], cost: 1 8: evalrealbubblebb2in -> evalrealbubblebb3in : D'=1, [], cost: 1 9: evalrealbubblebb3in -> evalrealbubblebb4in : B'=1+B, C'=D, [], cost: 1 10: evalrealbubblebb5in -> evalrealbubblereturnin : [ C==0 ], cost: 1 11: evalrealbubblebb5in -> evalrealbubblebb6in : [ 0>=1+C ], cost: 1 12: evalrealbubblebb5in -> evalrealbubblebb6in : [ C>=1 ], cost: 1 13: evalrealbubblebb6in -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 14: evalrealbubblereturnin -> evalrealbubblestop : [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 0: evalrealbubblestart -> evalrealbubbleentryin : [], cost: 1 Removed unreachable and leaf rules: Start location: evalrealbubblestart 0: evalrealbubblestart -> evalrealbubbleentryin : [], cost: 1 1: evalrealbubbleentryin -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 4: evalrealbubblebb4in -> evalrealbubblebb1in : [ A>=1+B ], cost: 1 5: evalrealbubblebb4in -> evalrealbubblebb5in : [ B>=A ], cost: 1 6: evalrealbubblebb1in -> evalrealbubblebb2in : [ free_1>=1+free ], cost: 1 7: evalrealbubblebb1in -> evalrealbubblebb3in : D'=C, [ free_3>=free_2 ], cost: 1 8: evalrealbubblebb2in -> evalrealbubblebb3in : D'=1, [], cost: 1 9: evalrealbubblebb3in -> evalrealbubblebb4in : B'=1+B, C'=D, [], cost: 1 11: evalrealbubblebb5in -> evalrealbubblebb6in : [ 0>=1+C ], cost: 1 12: evalrealbubblebb5in -> evalrealbubblebb6in : [ C>=1 ], cost: 1 13: evalrealbubblebb6in -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 Simplified all rules, resulting in: Start location: evalrealbubblestart 0: evalrealbubblestart -> evalrealbubbleentryin : [], cost: 1 1: evalrealbubbleentryin -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 4: evalrealbubblebb4in -> evalrealbubblebb1in : [ A>=1+B ], cost: 1 5: evalrealbubblebb4in -> evalrealbubblebb5in : [ B>=A ], cost: 1 6: evalrealbubblebb1in -> evalrealbubblebb2in : [], cost: 1 7: evalrealbubblebb1in -> evalrealbubblebb3in : D'=C, [], cost: 1 8: evalrealbubblebb2in -> evalrealbubblebb3in : D'=1, [], cost: 1 9: evalrealbubblebb3in -> evalrealbubblebb4in : B'=1+B, C'=D, [], cost: 1 11: evalrealbubblebb5in -> evalrealbubblebb6in : [ 0>=1+C ], cost: 1 12: evalrealbubblebb5in -> evalrealbubblebb6in : [ C>=1 ], cost: 1 13: evalrealbubblebb6in -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 4: evalrealbubblebb4in -> evalrealbubblebb1in : [ A>=1+B ], cost: 1 5: evalrealbubblebb4in -> evalrealbubblebb5in : [ B>=A ], cost: 1 7: evalrealbubblebb1in -> evalrealbubblebb3in : D'=C, [], cost: 1 16: evalrealbubblebb1in -> evalrealbubblebb3in : D'=1, [], cost: 2 9: evalrealbubblebb3in -> evalrealbubblebb4in : B'=1+B, C'=D, [], cost: 1 11: evalrealbubblebb5in -> evalrealbubblebb6in : [ 0>=1+C ], cost: 1 12: evalrealbubblebb5in -> evalrealbubblebb6in : [ C>=1 ], cost: 1 13: evalrealbubblebb6in -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 17: evalrealbubblebb4in -> evalrealbubblebb3in : D'=C, [ A>=1+B ], cost: 2 18: evalrealbubblebb4in -> evalrealbubblebb3in : D'=1, [ A>=1+B ], cost: 3 19: evalrealbubblebb4in -> evalrealbubblebb6in : [ B>=A && 0>=1+C ], cost: 2 20: evalrealbubblebb4in -> evalrealbubblebb6in : [ B>=A && C>=1 ], cost: 2 9: evalrealbubblebb3in -> evalrealbubblebb4in : B'=1+B, C'=D, [], cost: 1 13: evalrealbubblebb6in -> evalrealbubblebb7in : A'=-1+A, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 21: evalrealbubblebb4in -> evalrealbubblebb4in : B'=1+B, C'=C, D'=C, [ A>=1+B ], cost: 3 22: evalrealbubblebb4in -> evalrealbubblebb4in : B'=1+B, C'=1, D'=1, [ A>=1+B ], cost: 4 23: evalrealbubblebb4in -> evalrealbubblebb7in : A'=-1+A, [ B>=A && 0>=1+C ], cost: 3 24: evalrealbubblebb4in -> evalrealbubblebb7in : A'=-1+A, [ B>=A && C>=1 ], cost: 3 Accelerating simple loops of location 3. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 21: evalrealbubblebb4in -> evalrealbubblebb4in : B'=1+B, D'=C, [ A>=1+B ], cost: 3 22: evalrealbubblebb4in -> evalrealbubblebb4in : B'=1+B, C'=1, D'=1, [ A>=1+B ], cost: 4 Accelerated rule 21 with metering function A-B, yielding the new rule 25. Accelerated rule 22 with metering function A-B, yielding the new rule 26. Removing the simple loops: 21 22. Accelerated all simple loops using metering functions (where possible): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 23: evalrealbubblebb4in -> evalrealbubblebb7in : A'=-1+A, [ B>=A && 0>=1+C ], cost: 3 24: evalrealbubblebb4in -> evalrealbubblebb7in : A'=-1+A, [ B>=A && C>=1 ], cost: 3 25: evalrealbubblebb4in -> evalrealbubblebb4in : B'=A, D'=C, [ A>=1+B ], cost: 3*A-3*B 26: evalrealbubblebb4in -> evalrealbubblebb4in : B'=A, C'=1, D'=1, [ A>=1+B ], cost: 4*A-4*B Chained accelerated rules (with incoming rules): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 2: evalrealbubblebb7in -> evalrealbubblebb4in : B'=0, C'=0, [ A>=1 ], cost: 1 27: evalrealbubblebb7in -> evalrealbubblebb4in : B'=A, C'=0, D'=0, [ A>=1 ], cost: 1+3*A 28: evalrealbubblebb7in -> evalrealbubblebb4in : B'=A, C'=1, D'=1, [ A>=1 ], cost: 1+4*A 23: evalrealbubblebb4in -> evalrealbubblebb7in : A'=-1+A, [ B>=A && 0>=1+C ], cost: 3 24: evalrealbubblebb4in -> evalrealbubblebb7in : A'=-1+A, [ B>=A && C>=1 ], cost: 3 Eliminated locations (on tree-shaped paths): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 29: evalrealbubblebb7in -> evalrealbubblebb7in : A'=-1+A, B'=A, C'=1, D'=1, [ A>=1 ], cost: 4+4*A 30: evalrealbubblebb7in -> [12] : [ A>=1 ], cost: 1+3*A 31: evalrealbubblebb7in -> [12] : [ A>=1 ], cost: 1+4*A Accelerating simple loops of location 2. Accelerating the following rules: 29: evalrealbubblebb7in -> evalrealbubblebb7in : A'=-1+A, B'=A, C'=1, D'=1, [ A>=1 ], cost: 4+4*A Accelerated rule 29 with metering function A, yielding the new rule 32. Removing the simple loops: 29. Accelerated all simple loops using metering functions (where possible): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 30: evalrealbubblebb7in -> [12] : [ A>=1 ], cost: 1+3*A 31: evalrealbubblebb7in -> [12] : [ A>=1 ], cost: 1+4*A 32: evalrealbubblebb7in -> evalrealbubblebb7in : A'=0, B'=1, C'=1, D'=1, [ A>=1 ], cost: 6*A+2*A^2 Chained accelerated rules (with incoming rules): Start location: evalrealbubblestart 15: evalrealbubblestart -> evalrealbubblebb7in : A'=-1+A, [], cost: 2 33: evalrealbubblestart -> evalrealbubblebb7in : A'=0, B'=1, C'=1, D'=1, [ -1+A>=1 ], cost: -4+2*(-1+A)^2+6*A 30: evalrealbubblebb7in -> [12] : [ A>=1 ], cost: 1+3*A 31: evalrealbubblebb7in -> [12] : [ A>=1 ], cost: 1+4*A Eliminated locations (on tree-shaped paths): Start location: evalrealbubblestart 34: evalrealbubblestart -> [12] : A'=-1+A, [ -1+A>=1 ], cost: 3*A 35: evalrealbubblestart -> [12] : A'=-1+A, [ -1+A>=1 ], cost: -1+4*A 36: evalrealbubblestart -> [14] : [ -1+A>=1 ], cost: -4+2*(-1+A)^2+6*A ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: evalrealbubblestart 34: evalrealbubblestart -> [12] : A'=-1+A, [ -1+A>=1 ], cost: 3*A 35: evalrealbubblestart -> [12] : A'=-1+A, [ -1+A>=1 ], cost: -1+4*A 36: evalrealbubblestart -> [14] : [ -1+A>=1 ], cost: -4+2*(-1+A)^2+6*A Computing asymptotic complexity for rule 34 Solved the limit problem by the following transformations: Created initial limit problem: -1+A (+/+!), 3*A (+) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {A==n} resulting limit problem: [solved] Solution: A / n Resulting cost 3*n has complexity: Poly(n^1) Found new complexity Poly(n^1). Computing asymptotic complexity for rule 36 Solved the limit problem by the following transformations: Created initial limit problem: -1+A (+/+!), -2+2*A+2*A^2 (+) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {A==n} resulting limit problem: [solved] Solution: A / n Resulting cost -2+2*n^2+2*n has complexity: Poly(n^2) Found new complexity Poly(n^2). Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Poly(n^2) Cpx degree: 2 Solved cost: -2+2*n^2+2*n Rule cost: -4+2*(-1+A)^2+6*A Rule guard: [ -1+A>=1 ] WORST_CASE(Omega(n^2),?) ---------------------------------------- (4) BOUNDS(n^2, INF)