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