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