/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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, nat(1 + 2 * Arg_2) + max(1, 2 + Arg_0 + -1 * Arg_1)). (0) CpxIntTrs (1) Koat2 Proof [FINISHED, 215 ms] (2) BOUNDS(1, nat(1 + 2 * Arg_2) + max(1, 2 + Arg_0 + -1 * Arg_1)) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: eval0(A, B, C) -> Com_1(eval1(A, B, C)) :|: A >= 1 eval1(A, B, C) -> Com_1(eval1(A, B + A, C)) :|: A >= B + 1 && C >= A + 1 && A >= 1 eval1(A, B, C) -> Com_1(eval1(A, B, B - A)) :|: A >= B + 1 && C >= A + 1 && A >= 1 The start-symbols are:[eval0_3] ---------------------------------------- (1) Koat2 Proof (FINISHED) YES( ?, max([0, 1+2*Arg_2])+max([1, 2+Arg_0-Arg_1]) {O(n)}) Initial Complexity Problem: Start: eval0 Program_Vars: Arg_0, Arg_1, Arg_2 Temp_Vars: Locations: eval0, eval1 Transitions: 0: eval0->eval1 1: eval1->eval1 2: eval1->eval1 Timebounds: Overall timebound: max([0, 1+2*Arg_2])+max([1, 2+Arg_0-Arg_1]) {O(n)} 0: eval0->eval1: 1 {O(1)} 1: eval1->eval1: max([0, 1+Arg_0-Arg_1]) {O(n)} 2: eval1->eval1: max([0, 1+2*Arg_2]) {O(n)} Costbounds: Overall costbound: max([0, 1+2*Arg_2])+max([1, 2+Arg_0-Arg_1]) {O(n)} 0: eval0->eval1: 1 {O(1)} 1: eval1->eval1: max([0, 1+Arg_0-Arg_1]) {O(n)} 2: eval1->eval1: max([0, 1+2*Arg_2]) {O(n)} Sizebounds: `Lower: 0: eval0->eval1, Arg_0: 1 {O(1)} 0: eval0->eval1, Arg_1: Arg_1 {O(n)} 0: eval0->eval1, Arg_2: Arg_2 {O(n)} 1: eval1->eval1, Arg_0: 1 {O(1)} 1: eval1->eval1, Arg_1: Arg_1 {O(n)} 1: eval1->eval1, Arg_2: 2 {O(1)} 2: eval1->eval1, Arg_0: 1 {O(1)} 2: eval1->eval1, Arg_1: Arg_1 {O(n)} 2: eval1->eval1, Arg_2: Arg_1-Arg_0 {O(n)} `Upper: 0: eval0->eval1, Arg_0: Arg_0 {O(n)} 0: eval0->eval1, Arg_1: Arg_1 {O(n)} 0: eval0->eval1, Arg_2: Arg_2 {O(n)} 1: eval1->eval1, Arg_0: Arg_0 {O(n)} 1: eval1->eval1, Arg_1: 2*Arg_0 {O(n)} 1: eval1->eval1, Arg_2: Arg_2 {O(n)} 2: eval1->eval1, Arg_0: Arg_0 {O(n)} 2: eval1->eval1, Arg_1: max([Arg_1, 2*Arg_0]) {O(n)} 2: eval1->eval1, Arg_2: -1 {O(1)} ---------------------------------------- (2) BOUNDS(1, nat(1 + 2 * Arg_2) + max(1, 2 + Arg_0 + -1 * Arg_1))