/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.koat /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(NON_POLY, ?) 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(INF, INF). (0) CpxIntTrs (1) Loat Proof [FINISHED, 638 ms] (2) BOUNDS(INF, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: f0(A, B) -> Com_1(f1(C, 1)) :|: TRUE f1(A, B) -> Com_1(f1(A - 10, B - 1)) :|: B >= 1 && A >= 101 f1(A, B) -> Com_1(f1(A + 11, B + 1)) :|: B >= 1 && 100 >= A The start-symbols are:[f0_2] ---------------------------------------- (1) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: f0 0: f0 -> f1 : A'=free, B'=1, [], cost: 1 1: f1 -> f1 : A'=-10+A, B'=-1+B, [ B>=1 && A>=101 ], cost: 1 2: f1 -> f1 : A'=11+A, B'=1+B, [ B>=1 && 100>=A ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 0: f0 -> f1 : A'=free, B'=1, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 1. Accelerating the following rules: 1: f1 -> f1 : A'=-10+A, B'=-1+B, [ B>=1 && A>=101 ], cost: 1 2: f1 -> f1 : A'=11+A, B'=1+B, [ B>=1 && 100>=A ], cost: 1 Accelerated rule 1 with metering function meter (where 10*meter==-100+A) (after adding A<=B), yielding the new rule 3. Accelerated rule 2 with metering function meter_1 (where 11*meter_1==100-A), yielding the new rule 4. During metering: Instantiating temporary variables by {meter==1} Nested simple loops 2 (outer loop) and 3 (inner loop) with metering function 89+10*meter-A, resulting in the new rules: 5. Removing the simple loops: 2. Accelerated all simple loops using metering functions (where possible): Start location: f0 0: f0 -> f1 : A'=free, B'=1, [], cost: 1 1: f1 -> f1 : A'=-10+A, B'=-1+B, [ B>=1 && A>=101 ], cost: 1 3: f1 -> f1 : A'=-10*meter+A, B'=-meter+B, [ B>=1 && A>=101 && A<=B && 10*meter==-100+A && meter>=1 ], cost: meter 4: f1 -> f1 : A'=A+11*meter_1, B'=meter_1+B, [ B>=1 && 100>=A && 11*meter_1==100-A && meter_1>=1 ], cost: meter_1 5: f1 -> f1 : A'=979+110*meter-10*A-10*meter*(89+10*meter-A), B'=89+10*meter-A-meter*(89+10*meter-A)+B, [ B>=1 && 100>=A && 11+A>=101 && 11+A<=1+B && 10*meter==-89+A && meter>=1 && 89+10*meter-A>=1 ], cost: 89+10*meter-A+meter*(89+10*meter-A) Chained accelerated rules (with incoming rules): Start location: f0 0: f0 -> f1 : A'=free, B'=1, [], cost: 1 6: f0 -> f1 : A'=-10+free, B'=0, [ free>=101 ], cost: 2 7: f0 -> f1 : A'=100, B'=1+meter_1, [ 100>=100-11*meter_1 && meter_1>=1 ], cost: 1+meter_1 Removed unreachable locations (and leaf rules with constant cost): Start location: f0 7: f0 -> f1 : A'=100, B'=1+meter_1, [ 100>=100-11*meter_1 && meter_1>=1 ], cost: 1+meter_1 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f0 7: f0 -> f1 : A'=100, B'=1+meter_1, [ 100>=100-11*meter_1 && meter_1>=1 ], cost: 1+meter_1 Computing asymptotic complexity for rule 7 Simplified the guard: 7: f0 -> f1 : A'=100, B'=1+meter_1, [ meter_1>=1 ], cost: 1+meter_1 Solved the limit problem by the following transformations: Created initial limit problem: 1+meter_1 (+), meter_1 (+/+!) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {meter_1==n} resulting limit problem: [solved] Solution: meter_1 / n Resulting cost 1+n has complexity: Unbounded Found new complexity Unbounded. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Unbounded Cpx degree: Unbounded Solved cost: 1+n Rule cost: 1+meter_1 Rule guard: [ meter_1>=1 ] WORST_CASE(INF,?) ---------------------------------------- (2) BOUNDS(INF, INF)