3.92/2.04 WORST_CASE(?, O(n^1)) 3.92/2.05 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 3.92/2.05 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.92/2.05 3.92/2.05 3.92/2.05 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, max(103, 2 + 101 * Arg_1)). 3.92/2.05 3.92/2.05 (0) CpxIntTrs 3.92/2.05 (1) Koat2 Proof [FINISHED, 340 ms] 3.92/2.05 (2) BOUNDS(1, max(103, 2 + 101 * Arg_1)) 3.92/2.05 3.92/2.05 3.92/2.05 ---------------------------------------- 3.92/2.05 3.92/2.05 (0) 3.92/2.05 Obligation: 3.92/2.05 Complexity Int TRS consisting of the following rules: 3.92/2.05 f300(A, B, C, D, E) -> Com_1(f300(1 + A, B, C, D, E)) :|: 100 >= A && B >= 1 3.92/2.05 f300(A, B, C, D, E) -> Com_1(f3(A, B, 0, 0, 0)) :|: A >= 101 3.92/2.05 f2(A, B, C, D, E) -> Com_1(f300(1, B, C, D, E)) :|: B >= 1 3.92/2.05 f2(A, B, C, D, E) -> Com_1(f3(0, B, 0, 0, 0)) :|: 0 >= B 3.92/2.05 3.92/2.05 The start-symbols are:[f2_5] 3.92/2.05 3.92/2.05 3.92/2.05 ---------------------------------------- 3.92/2.05 3.92/2.05 (1) Koat2 Proof (FINISHED) 3.92/2.05 YES( ?, max([103, 2+101*Arg_1]) {O(n)}) 3.92/2.05 3.92/2.05 3.92/2.05 3.92/2.05 Initial Complexity Problem: 3.92/2.05 3.92/2.05 Start: f2 3.92/2.05 3.92/2.05 Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3, Arg_4 3.92/2.05 3.92/2.05 Temp_Vars: 3.92/2.05 3.92/2.05 Locations: f2, f3, f300 3.92/2.05 3.92/2.05 Transitions: 3.92/2.05 3.92/2.05 f2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f3(0,Arg_1,0,0,0):|:Arg_1 <= 0 3.92/2.05 3.92/2.05 f2(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f300(1,Arg_1,Arg_2,Arg_3,Arg_4):|:1 <= Arg_1 3.92/2.05 3.92/2.05 f300(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f3(Arg_0,Arg_1,0,0,0):|:1 <= Arg_1 && 2 <= Arg_0+Arg_1 && 1 <= Arg_0 && 101 <= Arg_0 3.92/2.05 3.92/2.05 f300(Arg_0,Arg_1,Arg_2,Arg_3,Arg_4) -> f300(1+Arg_0,Arg_1,Arg_2,Arg_3,Arg_4):|:1 <= Arg_1 && 2 <= Arg_0+Arg_1 && 1 <= Arg_0 && Arg_0 <= 100 && 1 <= Arg_1 3.92/2.05 3.92/2.05 3.92/2.05 3.92/2.05 Timebounds: 3.92/2.05 3.92/2.05 Overall timebound: max([103, 2+101*Arg_1]) {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300: 1 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3: 1 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300: max([100, -1+101*Arg_1]) {O(n)} 3.92/2.05 3.92/2.05 1: f300->f3: 1 {O(1)} 3.92/2.05 3.92/2.05 3.92/2.05 3.92/2.05 Costbounds: 3.92/2.05 3.92/2.05 Overall costbound: max([103, 2+101*Arg_1]) {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300: 1 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3: 1 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300: max([100, -1+101*Arg_1]) {O(n)} 3.92/2.05 3.92/2.05 1: f300->f3: 1 {O(1)} 3.92/2.05 3.92/2.05 3.92/2.05 3.92/2.05 Sizebounds: 3.92/2.05 3.92/2.05 `Lower: 3.92/2.05 3.92/2.05 2: f2->f300, Arg_0: 1 {O(1)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_1: 1 {O(1)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_2: Arg_2 {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_3: Arg_3 {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_4: Arg_4 {O(n)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_0: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_1: Arg_1 {O(n)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_2: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_3: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_4: 0 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_0: 2 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_1: 1 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_2: Arg_2 {O(n)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_3: Arg_3 {O(n)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_4: Arg_4 {O(n)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_0: 101 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_1: 1 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_2: 0 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_3: 0 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_4: 0 {O(1)} 3.92/2.05 3.92/2.05 `Upper: 3.92/2.05 3.92/2.05 2: f2->f300, Arg_0: 1 {O(1)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_1: Arg_1 {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_2: Arg_2 {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_3: Arg_3 {O(n)} 3.92/2.05 3.92/2.05 2: f2->f300, Arg_4: Arg_4 {O(n)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_0: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_1: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_2: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_3: 0 {O(1)} 3.92/2.05 3.92/2.05 3: f2->f3, Arg_4: 0 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_0: 101 {O(1)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_1: Arg_1 {O(n)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_2: Arg_2 {O(n)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_3: Arg_3 {O(n)} 3.92/2.05 3.92/2.05 0: f300->f300, Arg_4: Arg_4 {O(n)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_0: 101 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_1: Arg_1 {O(n)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_2: 0 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_3: 0 {O(1)} 3.92/2.05 3.92/2.05 1: f300->f3, Arg_4: 0 {O(1)} 3.92/2.05 3.92/2.05 3.92/2.05 ---------------------------------------- 3.92/2.05 3.92/2.05 (2) 3.92/2.05 BOUNDS(1, max(103, 2 + 101 * Arg_1)) 3.92/2.07 EOF