/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.koat /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(NON_POLY, ?) proof of /export/starexec/sandbox/benchmark/theBenchmark.koat # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). (0) CpxIntTrs (1) Loat Proof [FINISHED, 3744 ms] (2) BOUNDS(INF, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: f0(A, B, C, D, E, F, G, H) -> Com_1(f15(10, 35, 285, I, I, 0, G, H)) :|: TRUE f15(A, B, C, D, E, F, G, H) -> Com_1(f25(A, B, C, D, E, F, I, 1)) :|: A >= F + 1 f25(A, B, C, D, E, F, G, H) -> Com_1(f25(A, B, C, D, E, F, I, H + 1)) :|: E >= H + 1 f41(A, B, C, D, E, F, G, H) -> Com_1(f15(A, B, C, D, E, F + 1, G, H)) :|: E >= B f41(A, B, C, D, E, F, G, H) -> Com_1(f15(A, B, C, D, E + 1, F + 1, G, H)) :|: B >= E + 1 f25(A, B, C, D, E, F, G, H) -> Com_1(f41(A, B, C, D, E, F, G, H)) :|: H >= E && I >= J + 1 f25(A, B, C, D, E, F, G, H) -> Com_1(f41(A, B, C, D, E, F, G, H)) :|: H >= E f25(A, B, C, D, E, F, G, H) -> Com_1(f15(A, B, C, D, E - 1, F + 1, G, H)) :|: H >= E f15(A, B, C, D, E, F, G, H) -> Com_1(f48(A, B, C, D, E, F, G, H)) :|: F >= A The start-symbols are:[f0_8] ---------------------------------------- (1) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 1: f15 -> f25 : G'=free_1, H'=1, [ A>=1+F ], cost: 1 8: f15 -> f48 : [ F>=A ], cost: 1 2: f25 -> f25 : G'=free_2, H'=1+H, [ E>=1+H ], cost: 1 5: f25 -> f41 : [ H>=E && free_3>=1+free_4 ], cost: 1 6: f25 -> f41 : [ H>=E ], cost: 1 7: f25 -> f15 : E'=-1+E, F'=1+F, [ H>=E ], cost: 1 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 Removed unreachable and leaf rules: Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 1: f15 -> f25 : G'=free_1, H'=1, [ A>=1+F ], cost: 1 2: f25 -> f25 : G'=free_2, H'=1+H, [ E>=1+H ], cost: 1 5: f25 -> f41 : [ H>=E && free_3>=1+free_4 ], cost: 1 6: f25 -> f41 : [ H>=E ], cost: 1 7: f25 -> f15 : E'=-1+E, F'=1+F, [ H>=E ], cost: 1 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 Simplified all rules, resulting in: Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 1: f15 -> f25 : G'=free_1, H'=1, [ A>=1+F ], cost: 1 2: f25 -> f25 : G'=free_2, H'=1+H, [ E>=1+H ], cost: 1 6: f25 -> f41 : [ H>=E ], cost: 1 7: f25 -> f15 : E'=-1+E, F'=1+F, [ H>=E ], cost: 1 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 2. Accelerating the following rules: 2: f25 -> f25 : G'=free_2, H'=1+H, [ E>=1+H ], cost: 1 Accelerated rule 2 with metering function -H+E, yielding the new rule 9. Removing the simple loops: 2. Accelerated all simple loops using metering functions (where possible): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 1: f15 -> f25 : G'=free_1, H'=1, [ A>=1+F ], cost: 1 6: f25 -> f41 : [ H>=E ], cost: 1 7: f25 -> f15 : E'=-1+E, F'=1+F, [ H>=E ], cost: 1 9: f25 -> f25 : G'=free_2, H'=E, [ E>=1+H ], cost: -H+E 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 Chained accelerated rules (with incoming rules): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 1: f15 -> f25 : G'=free_1, H'=1, [ A>=1+F ], cost: 1 10: f15 -> f25 : G'=free_2, H'=E, [ A>=1+F && E>=2 ], cost: E 6: f25 -> f41 : [ H>=E ], cost: 1 7: f25 -> f15 : E'=-1+E, F'=1+F, [ H>=E ], cost: 1 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 Eliminated locations (on tree-shaped paths): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 11: f15 -> f41 : G'=free_1, H'=1, [ A>=1+F && 1>=E ], cost: 2 12: f15 -> f15 : E'=-1+E, F'=1+F, G'=free_1, H'=1, [ A>=1+F && 1>=E ], cost: 2 13: f15 -> f41 : G'=free_2, H'=E, [ A>=1+F && E>=2 ], cost: 1+E 14: f15 -> f15 : E'=-1+E, F'=1+F, G'=free_2, H'=E, [ A>=1+F && E>=2 ], cost: 1+E 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 Accelerating simple loops of location 1. Accelerating the following rules: 12: f15 -> f15 : E'=-1+E, F'=1+F, G'=free_1, H'=1, [ A>=1+F && 1>=E ], cost: 2 14: f15 -> f15 : E'=-1+E, F'=1+F, G'=free_2, H'=E, [ A>=1+F && E>=2 ], cost: 1+E Accelerated rule 12 with metering function -F+A, yielding the new rule 15. Accelerated rule 14 with backward acceleration, yielding the new rule 16. Accelerated rule 14 with backward acceleration, yielding the new rule 17. Removing the simple loops: 12 14. Accelerated all simple loops using metering functions (where possible): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 11: f15 -> f41 : G'=free_1, H'=1, [ A>=1+F && 1>=E ], cost: 2 13: f15 -> f41 : G'=free_2, H'=E, [ A>=1+F && E>=2 ], cost: 1+E 15: f15 -> f15 : E'=F-A+E, F'=A, G'=free_1, H'=1, [ A>=1+F && 1>=E ], cost: -2*F+2*A 16: f15 -> f15 : E'=F-A+E, F'=A, G'=free_2, H'=1+F-A+E, [ A>=1+F && E>=2 && 1+F-A+E>=2 ], cost: -3/2*F+3/2*A-1/2*(F-A)^2-(F-A)*E 17: f15 -> f15 : E'=1, F'=-1+F+E, G'=free_2, H'=2, [ A>=1+F && E>=2 && A>=-1+F+E ], cost: -3/2+(-1+E)*E+3/2*E-1/2*(-1+E)^2 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 Chained accelerated rules (with incoming rules): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 18: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_1, H'=1, [ 1>=free ], cost: 21 21: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_2, H'=-9+free, [ -9+free>=2 ], cost: -34+10*free 24: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=1, F'=-1+free, G'=free_2, H'=2, [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 11: f15 -> f41 : G'=free_1, H'=1, [ A>=1+F && 1>=E ], cost: 2 13: f15 -> f41 : G'=free_2, H'=E, [ A>=1+F && E>=2 ], cost: 1+E 3: f41 -> f15 : F'=1+F, [ E>=B ], cost: 1 4: f41 -> f15 : E'=1+E, F'=1+F, [ B>=1+E ], cost: 1 19: f41 -> f15 : E'=1+F-A+E, F'=A, G'=free_1, H'=1, [ E>=B && A>=2+F && 1>=E ], cost: -1-2*F+2*A 20: f41 -> f15 : E'=2+F-A+E, F'=A, G'=free_1, H'=1, [ B>=1+E && A>=2+F && 1>=1+E ], cost: -1-2*F+2*A 22: f41 -> f15 : E'=1+F-A+E, F'=A, G'=free_2, H'=2+F-A+E, [ E>=B && A>=2+F && E>=2 && 2+F-A+E>=2 ], cost: -1/2-3/2*F-(1+F-A)*E+3/2*A-1/2*(1+F-A)^2 23: f41 -> f15 : E'=2+F-A+E, F'=A, G'=free_2, H'=3+F-A+E, [ B>=1+E && A>=2+F && 1+E>=2 && 3+F-A+E>=2 ], cost: -1/2-3/2*F-(1+F-A)*(1+E)+3/2*A-1/2*(1+F-A)^2 25: f41 -> f15 : E'=1, F'=F+E, G'=free_2, H'=2, [ E>=B && A>=2+F && E>=2 && A>=F+E ], cost: -1/2+(-1+E)*E+3/2*E-1/2*(-1+E)^2 26: f41 -> f15 : E'=1, F'=1+F+E, G'=free_2, H'=2, [ B>=1+E && A>=2+F && 1+E>=2 && A>=1+F+E ], cost: 1-1/2*E^2+(1+E)*E+3/2*E Eliminated locations (on tree-shaped paths): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 18: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_1, H'=1, [ 1>=free ], cost: 21 21: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_2, H'=-9+free, [ -9+free>=2 ], cost: -34+10*free 24: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=1, F'=-1+free, G'=free_2, H'=2, [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 27: f15 -> f15 : F'=1+F, G'=free_1, H'=1, [ A>=1+F && 1>=E && E>=B ], cost: 3 28: f15 -> f15 : E'=1+E, F'=1+F, G'=free_1, H'=1, [ A>=1+F && 1>=E && B>=1+E ], cost: 3 29: f15 -> f15 : E'=1+F-A+E, F'=A, G'=free_1, H'=1, [ 1>=E && E>=B && A>=2+F ], cost: 1-2*F+2*A 30: f15 -> f15 : E'=2+F-A+E, F'=A, G'=free_1, H'=1, [ B>=1+E && A>=2+F && 1>=1+E ], cost: 1-2*F+2*A 31: f15 -> f15 : E'=2+F-A+E, F'=A, G'=free_2, H'=3+F-A+E, [ 1>=E && B>=1+E && A>=2+F && 1+E>=2 && 3+F-A+E>=2 ], cost: 3/2-3/2*F-(1+F-A)*(1+E)+3/2*A-1/2*(1+F-A)^2 32: f15 -> f15 : E'=1, F'=1+F+E, G'=free_2, H'=2, [ 1>=E && B>=1+E && A>=2+F && 1+E>=2 && A>=1+F+E ], cost: 3-1/2*E^2+(1+E)*E+3/2*E 33: f15 -> f15 : F'=1+F, G'=free_2, H'=E, [ A>=1+F && E>=2 && E>=B ], cost: 2+E 34: f15 -> f15 : E'=1+E, F'=1+F, G'=free_2, H'=E, [ A>=1+F && E>=2 && B>=1+E ], cost: 2+E 35: f15 -> f15 : E'=1+F-A+E, F'=A, G'=free_2, H'=2+F-A+E, [ E>=2 && E>=B && A>=2+F && 2+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*E+3/2*A+E-1/2*(1+F-A)^2 36: f15 -> f15 : E'=2+F-A+E, F'=A, G'=free_2, H'=3+F-A+E, [ E>=2 && B>=1+E && A>=2+F && 3+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*(1+E)+3/2*A+E-1/2*(1+F-A)^2 37: f15 -> f15 : E'=1, F'=F+E, G'=free_2, H'=2, [ E>=2 && E>=B && A>=2+F && A>=F+E ], cost: 1/2+(-1+E)*E+5/2*E-1/2*(-1+E)^2 38: f15 -> f15 : E'=1, F'=1+F+E, G'=free_2, H'=2, [ E>=2 && B>=1+E && A>=2+F && A>=1+F+E ], cost: 2-1/2*E^2+(1+E)*E+5/2*E 39: f15 -> [7] : [ A>=1+F && E>=2 ], cost: 1+E Applied pruning (of leafs and parallel rules): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 18: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_1, H'=1, [ 1>=free ], cost: 21 21: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_2, H'=-9+free, [ -9+free>=2 ], cost: -34+10*free 24: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=1, F'=-1+free, G'=free_2, H'=2, [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 33: f15 -> f15 : F'=1+F, G'=free_2, H'=E, [ A>=1+F && E>=2 && E>=B ], cost: 2+E 35: f15 -> f15 : E'=1+F-A+E, F'=A, G'=free_2, H'=2+F-A+E, [ E>=2 && E>=B && A>=2+F && 2+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*E+3/2*A+E-1/2*(1+F-A)^2 36: f15 -> f15 : E'=2+F-A+E, F'=A, G'=free_2, H'=3+F-A+E, [ E>=2 && B>=1+E && A>=2+F && 3+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*(1+E)+3/2*A+E-1/2*(1+F-A)^2 37: f15 -> f15 : E'=1, F'=F+E, G'=free_2, H'=2, [ E>=2 && E>=B && A>=2+F && A>=F+E ], cost: 1/2+(-1+E)*E+5/2*E-1/2*(-1+E)^2 38: f15 -> f15 : E'=1, F'=1+F+E, G'=free_2, H'=2, [ E>=2 && B>=1+E && A>=2+F && A>=1+F+E ], cost: 2-1/2*E^2+(1+E)*E+5/2*E 39: f15 -> [7] : [ A>=1+F && E>=2 ], cost: 1+E Accelerating simple loops of location 1. Accelerating the following rules: 33: f15 -> f15 : F'=1+F, G'=free_2, H'=E, [ A>=1+F && E>=2 && E>=B ], cost: 2+E 35: f15 -> f15 : E'=1+F-A+E, F'=A, G'=free_2, H'=2+F-A+E, [ E>=2 && E>=B && A>=2+F && 2+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*E+3/2*A+E-1/2*(1+F-A)^2 36: f15 -> f15 : E'=2+F-A+E, F'=A, G'=free_2, H'=3+F-A+E, [ E>=2 && B>=1+E && A>=2+F && 3+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*(1+E)+3/2*A+E-1/2*(1+F-A)^2 37: f15 -> f15 : E'=1, F'=F+E, G'=free_2, H'=2, [ E>=2 && E>=B && A>=2+F && A>=F+E ], cost: 1/2+(-1+E)*E+5/2*E-1/2*(-1+E)^2 38: f15 -> f15 : E'=1, F'=1+F+E, G'=free_2, H'=2, [ E>=2 && B>=1+E && A>=2+F && A>=1+F+E ], cost: 2-1/2*E^2+(1+E)*E+5/2*E Accelerated rule 33 with metering function -F+A, yielding the new rule 40. Found no metering function for rule 35. Found no metering function for rule 36. Found no metering function for rule 37. Found no metering function for rule 38. Removing the simple loops: 33. Accelerated all simple loops using metering functions (where possible): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 18: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_1, H'=1, [ 1>=free ], cost: 21 21: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_2, H'=-9+free, [ -9+free>=2 ], cost: -34+10*free 24: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=1, F'=-1+free, G'=free_2, H'=2, [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 35: f15 -> f15 : E'=1+F-A+E, F'=A, G'=free_2, H'=2+F-A+E, [ E>=2 && E>=B && A>=2+F && 2+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*E+3/2*A+E-1/2*(1+F-A)^2 36: f15 -> f15 : E'=2+F-A+E, F'=A, G'=free_2, H'=3+F-A+E, [ E>=2 && B>=1+E && A>=2+F && 3+F-A+E>=2 ], cost: 1/2-3/2*F-(1+F-A)*(1+E)+3/2*A+E-1/2*(1+F-A)^2 37: f15 -> f15 : E'=1, F'=F+E, G'=free_2, H'=2, [ E>=2 && E>=B && A>=2+F && A>=F+E ], cost: 1/2+(-1+E)*E+5/2*E-1/2*(-1+E)^2 38: f15 -> f15 : E'=1, F'=1+F+E, G'=free_2, H'=2, [ E>=2 && B>=1+E && A>=2+F && A>=1+F+E ], cost: 2-1/2*E^2+(1+E)*E+5/2*E 39: f15 -> [7] : [ A>=1+F && E>=2 ], cost: 1+E 40: f15 -> f15 : F'=A, G'=free_2, H'=E, [ A>=1+F && E>=2 && E>=B ], cost: -2*F+2*A-(F-A)*E Chained accelerated rules (with incoming rules): Start location: f0 0: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [], cost: 1 18: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_1, H'=1, [ 1>=free ], cost: 21 21: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-10+free, F'=10, G'=free_2, H'=-9+free, [ -9+free>=2 ], cost: -34+10*free 24: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=1, F'=-1+free, G'=free_2, H'=2, [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 41: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-9+free, F'=10, G'=free_2, H'=-8+free, [ free>=35 ], cost: -24+10*free 42: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=-8+free, F'=10, G'=free_2, H'=-7+free, [ 35>=1+free && -7+free>=2 ], cost: -15+10*free 43: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=1, F'=1+free, G'=free_2, H'=2, [ free>=2 && 10>=1+free ], cost: 3-1/2*free^2+(1+free)*free+5/2*free 44: f0 -> f15 : A'=10, B'=35, C'=285, D'=free, E'=free, F'=10, G'=free_2, H'=free, [ free>=35 ], cost: 21+10*free 39: f15 -> [7] : [ A>=1+F && E>=2 ], cost: 1+E Eliminated locations (on tree-shaped paths): Start location: f0 45: f0 -> [7] : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [ free>=2 ], cost: 2+free 46: f0 -> [9] : [ -9+free>=2 ], cost: -34+10*free 47: f0 -> [9] : [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 48: f0 -> [9] : [ free>=35 ], cost: -24+10*free 49: f0 -> [9] : [ 35>=1+free && -7+free>=2 ], cost: -15+10*free 50: f0 -> [9] : [ free>=2 && 10>=1+free ], cost: 3-1/2*free^2+(1+free)*free+5/2*free 51: f0 -> [9] : [ free>=35 ], cost: 21+10*free ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f0 45: f0 -> [7] : A'=10, B'=35, C'=285, D'=free, E'=free, F'=0, [ free>=2 ], cost: 2+free 46: f0 -> [9] : [ -9+free>=2 ], cost: -34+10*free 47: f0 -> [9] : [ free>=2 && 10>=-1+free ], cost: -1/2-1/2*(-1+free)^2+free*(-1+free)+3/2*free 49: f0 -> [9] : [ 35>=1+free && -7+free>=2 ], cost: -15+10*free 50: f0 -> [9] : [ free>=2 && 10>=1+free ], cost: 3-1/2*free^2+(1+free)*free+5/2*free 51: f0 -> [9] : [ free>=35 ], cost: 21+10*free Computing asymptotic complexity for rule 45 Solved the limit problem by the following transformations: Created initial limit problem: 2+free (+), -1+free (+/+!) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {free==n} resulting limit problem: [solved] Solution: free / n Resulting cost 2+n has complexity: Unbounded Found new complexity Unbounded. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Unbounded Cpx degree: Unbounded Solved cost: 2+n Rule cost: 2+free Rule guard: [ free>=2 ] WORST_CASE(INF,?) ---------------------------------------- (2) BOUNDS(INF, INF)