/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.koat /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?, O(n^1)) 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(1, max(2, 2 + 5 * Arg_3)). (0) CpxIntTrs (1) Koat2 Proof [FINISHED, 349 ms] (2) BOUNDS(1, max(2, 2 + 5 * Arg_3)) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: sqrt(A, B, C, D) -> Com_1(f(0, 1, 1, D)) :|: TRUE f(A, B, C, D) -> Com_1(f(A + 1, B + 2, C + B + 2, D)) :|: D >= C && B >= 0 f(A, B, C, D) -> Com_1(end(A, B, C, D)) :|: C >= D + 1 The start-symbols are:[sqrt_4] ---------------------------------------- (1) Koat2 Proof (FINISHED) YES( ?, max([2, 2+5*Arg_3]) {O(n)}) Initial Complexity Problem: Start: sqrt Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3 Temp_Vars: Locations: end, f, sqrt Transitions: f(Arg_0,Arg_1,Arg_2,Arg_3) -> end(Arg_0,Arg_1,Arg_2,Arg_3):|:1 <= Arg_2 && 2 <= Arg_1+Arg_2 && Arg_1 <= Arg_2 && 1 <= Arg_0+Arg_2 && 1+Arg_0 <= Arg_2 && 1 <= Arg_1 && 1 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && 0 <= Arg_0 && Arg_3+1 <= Arg_2 f(Arg_0,Arg_1,Arg_2,Arg_3) -> f(Arg_0+1,Arg_1+2,Arg_2+Arg_1+2,Arg_3):|:1 <= Arg_2 && 2 <= Arg_1+Arg_2 && Arg_1 <= Arg_2 && 1 <= Arg_0+Arg_2 && 1+Arg_0 <= Arg_2 && 1 <= Arg_1 && 1 <= Arg_0+Arg_1 && 1+Arg_0 <= Arg_1 && 0 <= Arg_0 && Arg_2 <= Arg_3 && 0 <= Arg_1 sqrt(Arg_0,Arg_1,Arg_2,Arg_3) -> f(0,1,1,Arg_3):|: Timebounds: Overall timebound: max([2, 2+5*Arg_3]) {O(n)} 1: f->f: max([0, 5*Arg_3]) {O(n)} 2: f->end: 1 {O(1)} 0: sqrt->f: 1 {O(1)} Costbounds: Overall costbound: max([2, 2+5*Arg_3]) {O(n)} 1: f->f: max([0, 5*Arg_3]) {O(n)} 2: f->end: 1 {O(1)} 0: sqrt->f: 1 {O(1)} Sizebounds: `Lower: 1: f->f, Arg_0: 1 {O(1)} 1: f->f, Arg_1: 3 {O(1)} 1: f->f, Arg_2: 4 {O(1)} 1: f->f, Arg_3: 1 {O(1)} 2: f->end, Arg_0: 0 {O(1)} 2: f->end, Arg_1: 1 {O(1)} 2: f->end, Arg_2: 1 {O(1)} 2: f->end, Arg_3: min([1, Arg_3]) {O(n)} 0: sqrt->f, Arg_0: 0 {O(1)} 0: sqrt->f, Arg_1: 1 {O(1)} 0: sqrt->f, Arg_2: 1 {O(1)} 0: sqrt->f, Arg_3: Arg_3 {O(n)} `Upper: 1: f->f, Arg_0: max([0, 5*Arg_3]) {O(n)} 1: f->f, Arg_1: max([1, 1+10*Arg_3]) {O(n)} 1: f->f, Arg_2: max([1, 2^(5*Arg_3)])*max([1, 1+5*Arg_3]) {O(EXP)} 1: f->f, Arg_3: Arg_3 {O(n)} 2: f->end, Arg_0: max([0, 5*Arg_3]) {O(n)} 2: f->end, Arg_1: max([1, max([1, 1+10*Arg_3])]) {O(n)} 2: f->end, Arg_2: max([1, max([1, 2^(5*Arg_3)])*max([1, 1+5*Arg_3])]) {O(EXP)} 2: f->end, Arg_3: Arg_3 {O(n)} 0: sqrt->f, Arg_0: 0 {O(1)} 0: sqrt->f, Arg_1: 1 {O(1)} 0: sqrt->f, Arg_2: 1 {O(1)} 0: sqrt->f, Arg_3: Arg_3 {O(n)} ---------------------------------------- (2) BOUNDS(1, max(2, 2 + 5 * Arg_3))