5.59/2.54 WORST_CASE(Omega(n^1), O(n^1)) 5.59/2.55 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 5.59/2.55 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.59/2.55 5.59/2.55 5.59/2.55 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(n^1, n^1). 5.59/2.55 5.59/2.55 (0) CpxIntTrs 5.59/2.55 (1) Koat Proof [FINISHED, 402 ms] 5.59/2.55 (2) BOUNDS(1, n^1) 5.59/2.55 (3) Loat Proof [FINISHED, 803 ms] 5.59/2.55 (4) BOUNDS(n^1, INF) 5.59/2.55 5.59/2.55 5.59/2.55 ---------------------------------------- 5.59/2.55 5.59/2.55 (0) 5.59/2.55 Obligation: 5.59/2.55 Complexity Int TRS consisting of the following rules: 5.59/2.55 evalEx4start(A, B, C, D) -> Com_1(evalEx4entryin(A, B, C, D)) :|: TRUE 5.59/2.55 evalEx4entryin(A, B, C, D) -> Com_1(evalEx4bb4in(1, A, C, D)) :|: TRUE 5.59/2.55 evalEx4bb4in(A, B, C, D) -> Com_1(evalEx4bb2in(A, B, 0, B)) :|: A >= 1 && A <= 1 5.59/2.55 evalEx4bb4in(A, B, C, D) -> Com_1(evalEx4returnin(A, B, C, D)) :|: 0 >= A 5.59/2.55 evalEx4bb4in(A, B, C, D) -> Com_1(evalEx4returnin(A, B, C, D)) :|: A >= 2 5.59/2.55 evalEx4bb2in(A, B, C, D) -> Com_1(evalEx4bb4in(C, D, C, D)) :|: 0 >= D 5.59/2.55 evalEx4bb2in(A, B, C, D) -> Com_1(evalEx4bb3in(A, B, C, D)) :|: D >= 1 5.59/2.55 evalEx4bb3in(A, B, C, D) -> Com_1(evalEx4bb1in(A, B, C, D)) :|: 0 >= E + 1 5.59/2.55 evalEx4bb3in(A, B, C, D) -> Com_1(evalEx4bb1in(A, B, C, D)) :|: E >= 1 5.59/2.55 evalEx4bb3in(A, B, C, D) -> Com_1(evalEx4bb4in(C, D, C, D)) :|: TRUE 5.59/2.55 evalEx4bb1in(A, B, C, D) -> Com_1(evalEx4bb2in(A, B, 1, D - 1)) :|: TRUE 5.59/2.55 evalEx4returnin(A, B, C, D) -> Com_1(evalEx4stop(A, B, C, D)) :|: TRUE 5.59/2.55 5.59/2.55 The start-symbols are:[evalEx4start_4] 5.59/2.55 5.59/2.55 5.59/2.55 ---------------------------------------- 5.59/2.55 5.59/2.55 (1) Koat Proof (FINISHED) 5.59/2.55 YES(?, 75*ar_0 + 42) 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Initial complexity problem: 5.59/2.55 5.59/2.55 1: T: 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.59/2.55 5.59/2.55 start location: koat_start 5.59/2.55 5.59/2.55 leaf cost: 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Repeatedly propagating knowledge in problem 1 produces the following problem: 5.59/2.55 5.59/2.55 2: T: 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.59/2.55 5.59/2.55 start location: koat_start 5.59/2.55 5.59/2.55 leaf cost: 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 A polynomial rank function with 5.59/2.55 5.59/2.55 Pol(evalEx4start) = 2 5.59/2.55 5.59/2.55 Pol(evalEx4entryin) = 2 5.59/2.55 5.59/2.55 Pol(evalEx4bb4in) = 2 5.59/2.55 5.59/2.55 Pol(evalEx4bb2in) = 2 5.59/2.55 5.59/2.55 Pol(evalEx4returnin) = 1 5.59/2.55 5.59/2.55 Pol(evalEx4bb3in) = 2 5.59/2.55 5.59/2.55 Pol(evalEx4bb1in) = 2 5.59/2.55 5.59/2.55 Pol(evalEx4stop) = 0 5.59/2.55 5.59/2.55 Pol(koat_start) = 2 5.59/2.55 5.59/2.55 orients all transitions weakly and the transitions 5.59/2.55 5.59/2.55 evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 strictly and produces the following problem: 5.59/2.55 5.59/2.55 3: T: 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ e >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.59/2.55 5.59/2.55 start location: koat_start 5.59/2.55 5.59/2.55 leaf cost: 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Applied AI with 'oct' on problem 3 to obtain the following invariants: 5.59/2.55 5.59/2.55 For symbol evalEx4bb1in: X_2 - X_4 >= 0 /\ X_4 - 1 >= 0 /\ X_3 + X_4 - 1 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 2 >= 0 /\ -X_1 + X_4 >= 0 /\ X_3 >= 0 /\ X_2 + X_3 - 1 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ -X_1 + X_3 + 1 >= 0 /\ X_2 - 1 >= 0 /\ X_1 + X_2 - 2 >= 0 /\ -X_1 + X_2 >= 0 /\ -X_1 + 1 >= 0 /\ X_1 - 1 >= 0 5.59/2.55 5.59/2.55 For symbol evalEx4bb2in: X_2 - X_4 >= 0 /\ X_3 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ -X_1 + X_3 + 1 >= 0 /\ -X_1 + 1 >= 0 /\ X_1 - 1 >= 0 5.59/2.55 5.59/2.55 For symbol evalEx4bb3in: X_2 - X_4 >= 0 /\ X_4 - 1 >= 0 /\ X_3 + X_4 - 1 >= 0 /\ X_2 + X_4 - 2 >= 0 /\ X_1 + X_4 - 2 >= 0 /\ -X_1 + X_4 >= 0 /\ X_3 >= 0 /\ X_2 + X_3 - 1 >= 0 /\ X_1 + X_3 - 1 >= 0 /\ -X_1 + X_3 + 1 >= 0 /\ X_2 - 1 >= 0 /\ X_1 + X_2 - 2 >= 0 /\ -X_1 + X_2 >= 0 /\ -X_1 + 1 >= 0 /\ X_1 - 1 >= 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 This yielded the following problem: 5.59/2.55 5.59/2.55 4: T: 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ e >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 start location: koat_start 5.59/2.55 5.59/2.55 leaf cost: 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 A polynomial rank function with 5.59/2.55 5.59/2.55 Pol(koat_start) = 5*V_1 + 2 5.59/2.55 5.59/2.55 Pol(evalEx4start) = 5*V_1 + 2 5.59/2.55 5.59/2.55 Pol(evalEx4returnin) = 2*V_1 + 5*V_2 5.59/2.55 5.59/2.55 Pol(evalEx4stop) = 2*V_1 + 5*V_2 5.59/2.55 5.59/2.55 Pol(evalEx4bb1in) = 5*V_4 5.59/2.55 5.59/2.55 Pol(evalEx4bb2in) = 2*V_1 + 2*V_3 + 5*V_4 5.59/2.55 5.59/2.55 Pol(evalEx4bb3in) = 2*V_3 + 5*V_4 + 1 5.59/2.55 5.59/2.55 Pol(evalEx4bb4in) = 2*V_1 + 5*V_2 5.59/2.55 5.59/2.55 Pol(evalEx4entryin) = 5*V_1 + 2 5.59/2.55 5.59/2.55 orients all transitions weakly and the transitions 5.59/2.55 5.59/2.55 evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ e >= 1 ] 5.59/2.55 5.59/2.55 evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 strictly and produces the following problem: 5.59/2.55 5.59/2.55 5: T: 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ e >= 1 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 (Comp: ?, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 start location: koat_start 5.59/2.55 5.59/2.55 leaf cost: 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 A polynomial rank function with 5.59/2.55 5.59/2.55 Pol(evalEx4bb4in) = 2*V_1 5.59/2.55 5.59/2.55 Pol(evalEx4bb2in) = 2*V_3 + 1 5.59/2.55 5.59/2.55 and size complexities 5.59/2.55 5.59/2.55 S("evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3))", 0-0) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3))", 0-1) = ar_1 5.59/2.55 5.59/2.55 S("evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3))", 0-2) = ar_2 5.59/2.55 5.59/2.55 S("evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3))", 0-3) = ar_3 5.59/2.55 5.59/2.55 S("evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3))", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3))", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3))", 0-2) = ar_2 5.59/2.55 5.59/2.55 S("evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3))", 0-3) = ar_3 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ]", 0-2) = 0 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 1 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 1 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 1 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 1 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= e + 1 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= e + 1 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= e + 1 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= e + 1 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ e >= 1 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ e >= 1 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ e >= 1 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ e >= 1 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\\ ar_3 - 1 >= 0 /\\ ar_2 + ar_3 - 1 >= 0 /\\ ar_1 + ar_3 - 2 >= 0 /\\ ar_0 + ar_3 - 2 >= 0 /\\ -ar_0 + ar_3 >= 0 /\\ ar_2 >= 0 /\\ ar_1 + ar_2 - 1 >= 0 /\\ ar_0 + ar_2 - 1 >= 0 /\\ -ar_0 + ar_2 + 1 >= 0 /\\ ar_1 - 1 >= 0 /\\ ar_0 + ar_1 - 2 >= 0 /\\ -ar_0 + ar_1 >= 0 /\\ -ar_0 + 1 >= 0 /\\ ar_0 - 1 >= 0 ]", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3))", 0-0) = 1 5.59/2.55 5.59/2.55 S("evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3))", 0-1) = ar_0 5.59/2.55 5.59/2.55 S("evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3))", 0-2) = 1 5.59/2.55 5.59/2.55 S("evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3))", 0-3) = ar_0 5.59/2.55 5.59/2.55 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-0) = ar_0 5.59/2.55 5.59/2.55 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-1) = ar_1 5.59/2.55 5.59/2.55 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-2) = ar_2 5.59/2.55 5.59/2.55 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-3) = ar_3 5.59/2.55 5.59/2.55 orients the transitions 5.59/2.55 5.59/2.55 evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 weakly and the transitions 5.59/2.55 5.59/2.55 evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 strictly and produces the following problem: 5.59/2.55 5.59/2.55 6: T: 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4start(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4returnin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4stop(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 1, ar_3 - 1)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ e >= 1 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_3 - 1 >= 0 /\ ar_2 + ar_3 - 1 >= 0 /\ ar_1 + ar_3 - 2 >= 0 /\ ar_0 + ar_3 - 2 >= 0 /\ -ar_0 + ar_3 >= 0 /\ ar_2 >= 0 /\ ar_1 + ar_2 - 1 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ ar_1 - 1 >= 0 /\ ar_0 + ar_1 - 2 >= 0 /\ -ar_0 + ar_1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= e + 1 ] 5.59/2.55 5.59/2.55 (Comp: 5*ar_0 + 2, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 1 ] 5.59/2.55 5.59/2.55 (Comp: 25*ar_0 + 12, Cost: 1) evalEx4bb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(ar_2, ar_3, ar_2, ar_3)) [ ar_1 - ar_3 >= 0 /\ ar_2 >= 0 /\ ar_0 + ar_2 - 1 >= 0 /\ -ar_0 + ar_2 + 1 >= 0 /\ -ar_0 + 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 2 ] 5.59/2.55 5.59/2.55 (Comp: 2, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4returnin(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] 5.59/2.55 5.59/2.55 (Comp: 25*ar_0 + 12, Cost: 1) evalEx4bb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb2in(ar_0, ar_1, 0, ar_1)) [ ar_0 = 1 ] 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4entryin(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4bb4in(1, ar_0, ar_2, ar_3)) 5.59/2.55 5.59/2.55 (Comp: 1, Cost: 1) evalEx4start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalEx4entryin(ar_0, ar_1, ar_2, ar_3)) 5.59/2.55 5.59/2.55 start location: koat_start 5.59/2.55 5.59/2.55 leaf cost: 0 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Complexity upper bound 75*ar_0 + 42 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Time: 0.432 sec (SMT: 0.344 sec) 5.59/2.55 5.59/2.55 5.59/2.55 ---------------------------------------- 5.59/2.55 5.59/2.55 (2) 5.59/2.55 BOUNDS(1, n^1) 5.59/2.55 5.59/2.55 ---------------------------------------- 5.59/2.55 5.59/2.55 (3) Loat Proof (FINISHED) 5.59/2.55 5.59/2.55 5.59/2.55 ### Pre-processing the ITS problem ### 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Initial linear ITS problem 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 0: evalEx4start -> evalEx4entryin : [], cost: 1 5.59/2.55 5.59/2.55 1: evalEx4entryin -> evalEx4bb4in : A'=1, B'=A, [], cost: 1 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 3: evalEx4bb4in -> evalEx4returnin : [ 0>=A ], cost: 1 5.59/2.55 5.59/2.55 4: evalEx4bb4in -> evalEx4returnin : [ A>=2 ], cost: 1 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 6: evalEx4bb2in -> evalEx4bb3in : [ D>=1 ], cost: 1 5.59/2.55 5.59/2.55 7: evalEx4bb3in -> evalEx4bb1in : [ 0>=1+free ], cost: 1 5.59/2.55 5.59/2.55 8: evalEx4bb3in -> evalEx4bb1in : [ free_1>=1 ], cost: 1 5.59/2.55 5.59/2.55 9: evalEx4bb3in -> evalEx4bb4in : A'=C, B'=D, [], cost: 1 5.59/2.55 5.59/2.55 10: evalEx4bb1in -> evalEx4bb2in : C'=1, D'=-1+D, [], cost: 1 5.59/2.55 5.59/2.55 11: evalEx4returnin -> evalEx4stop : [], cost: 1 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Removed unreachable and leaf rules: 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 0: evalEx4start -> evalEx4entryin : [], cost: 1 5.59/2.55 5.59/2.55 1: evalEx4entryin -> evalEx4bb4in : A'=1, B'=A, [], cost: 1 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 6: evalEx4bb2in -> evalEx4bb3in : [ D>=1 ], cost: 1 5.59/2.55 5.59/2.55 7: evalEx4bb3in -> evalEx4bb1in : [ 0>=1+free ], cost: 1 5.59/2.55 5.59/2.55 8: evalEx4bb3in -> evalEx4bb1in : [ free_1>=1 ], cost: 1 5.59/2.55 5.59/2.55 9: evalEx4bb3in -> evalEx4bb4in : A'=C, B'=D, [], cost: 1 5.59/2.55 5.59/2.55 10: evalEx4bb1in -> evalEx4bb2in : C'=1, D'=-1+D, [], cost: 1 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Simplified all rules, resulting in: 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 0: evalEx4start -> evalEx4entryin : [], cost: 1 5.59/2.55 5.59/2.55 1: evalEx4entryin -> evalEx4bb4in : A'=1, B'=A, [], cost: 1 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 6: evalEx4bb2in -> evalEx4bb3in : [ D>=1 ], cost: 1 5.59/2.55 5.59/2.55 8: evalEx4bb3in -> evalEx4bb1in : [], cost: 1 5.59/2.55 5.59/2.55 9: evalEx4bb3in -> evalEx4bb4in : A'=C, B'=D, [], cost: 1 5.59/2.55 5.59/2.55 10: evalEx4bb1in -> evalEx4bb2in : C'=1, D'=-1+D, [], cost: 1 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 ### Simplification by acceleration and chaining ### 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Eliminated locations (on linear paths): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 6: evalEx4bb2in -> evalEx4bb3in : [ D>=1 ], cost: 1 5.59/2.55 5.59/2.55 9: evalEx4bb3in -> evalEx4bb4in : A'=C, B'=D, [], cost: 1 5.59/2.55 5.59/2.55 13: evalEx4bb3in -> evalEx4bb2in : C'=1, D'=-1+D, [], cost: 2 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Eliminated locations (on tree-shaped paths): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 14: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ D>=1 ], cost: 2 5.59/2.55 5.59/2.55 15: evalEx4bb2in -> evalEx4bb2in : C'=1, D'=-1+D, [ D>=1 ], cost: 3 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Accelerating simple loops of location 3. 5.59/2.55 5.59/2.55 Accelerating the following rules: 5.59/2.55 5.59/2.55 15: evalEx4bb2in -> evalEx4bb2in : C'=1, D'=-1+D, [ D>=1 ], cost: 3 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Accelerated rule 15 with metering function D, yielding the new rule 16. 5.59/2.55 5.59/2.55 Removing the simple loops: 15. 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Accelerated all simple loops using metering functions (where possible): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 14: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ D>=1 ], cost: 2 5.59/2.55 5.59/2.55 16: evalEx4bb2in -> evalEx4bb2in : C'=1, D'=0, [ D>=1 ], cost: 3*D 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Chained accelerated rules (with incoming rules): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 2: evalEx4bb4in -> evalEx4bb2in : C'=0, D'=B, [ A==1 ], cost: 1 5.59/2.55 5.59/2.55 17: evalEx4bb4in -> evalEx4bb2in : C'=1, D'=0, [ A==1 && B>=1 ], cost: 1+3*B 5.59/2.55 5.59/2.55 5: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ 0>=D ], cost: 1 5.59/2.55 5.59/2.55 14: evalEx4bb2in -> evalEx4bb4in : A'=C, B'=D, [ D>=1 ], cost: 2 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Eliminated locations (on tree-shaped paths): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 18: evalEx4bb4in -> evalEx4bb4in : A'=0, B'=B, C'=0, D'=B, [ A==1 && 0>=B ], cost: 2 5.59/2.55 5.59/2.55 19: evalEx4bb4in -> evalEx4bb4in : A'=0, B'=B, C'=0, D'=B, [ A==1 && B>=1 ], cost: 3 5.59/2.55 5.59/2.55 20: evalEx4bb4in -> evalEx4bb4in : A'=1, B'=0, C'=1, D'=0, [ A==1 && B>=1 ], cost: 2+3*B 5.59/2.55 5.59/2.55 21: evalEx4bb4in -> [9] : [ A==1 && B>=1 ], cost: 1+3*B 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Accelerating simple loops of location 2. 5.59/2.55 5.59/2.55 Simplified some of the simple loops (and removed duplicate rules). 5.59/2.55 5.59/2.55 Accelerating the following rules: 5.59/2.55 5.59/2.55 18: evalEx4bb4in -> evalEx4bb4in : A'=0, C'=0, D'=B, [ A==1 && 0>=B ], cost: 2 5.59/2.55 5.59/2.55 19: evalEx4bb4in -> evalEx4bb4in : A'=0, C'=0, D'=B, [ A==1 && B>=1 ], cost: 3 5.59/2.55 5.59/2.55 20: evalEx4bb4in -> evalEx4bb4in : A'=1, B'=0, C'=1, D'=0, [ A==1 && B>=1 ], cost: 2+3*B 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Accelerated rule 18 with metering function A, yielding the new rule 22. 5.59/2.55 5.59/2.55 Accelerated rule 19 with metering function A, yielding the new rule 23. 5.59/2.55 5.59/2.55 Found no metering function for rule 20. 5.59/2.55 5.59/2.55 Removing the simple loops: 18 19. 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Accelerated all simple loops using metering functions (where possible): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 20: evalEx4bb4in -> evalEx4bb4in : A'=1, B'=0, C'=1, D'=0, [ A==1 && B>=1 ], cost: 2+3*B 5.59/2.55 5.59/2.55 21: evalEx4bb4in -> [9] : [ A==1 && B>=1 ], cost: 1+3*B 5.59/2.55 5.59/2.55 22: evalEx4bb4in -> evalEx4bb4in : A'=0, C'=0, D'=B, [ A==1 && 0>=B ], cost: 2*A 5.59/2.55 5.59/2.55 23: evalEx4bb4in -> evalEx4bb4in : A'=0, C'=0, D'=B, [ A==1 && B>=1 ], cost: 3*A 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Chained accelerated rules (with incoming rules): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 12: evalEx4start -> evalEx4bb4in : A'=1, B'=A, [], cost: 2 5.59/2.55 5.59/2.55 24: evalEx4start -> evalEx4bb4in : A'=1, B'=0, C'=1, D'=0, [ A>=1 ], cost: 4+3*A 5.59/2.55 5.59/2.55 25: evalEx4start -> evalEx4bb4in : A'=0, B'=A, C'=0, D'=A, [ 0>=A ], cost: 4 5.59/2.55 5.59/2.55 26: evalEx4start -> evalEx4bb4in : A'=0, B'=A, C'=0, D'=A, [ A>=1 ], cost: 5 5.59/2.55 5.59/2.55 21: evalEx4bb4in -> [9] : [ A==1 && B>=1 ], cost: 1+3*B 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Eliminated locations (on tree-shaped paths): 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 27: evalEx4start -> [9] : A'=1, B'=A, [ A>=1 ], cost: 3+3*A 5.59/2.55 5.59/2.55 28: evalEx4start -> [11] : [ A>=1 ], cost: 4+3*A 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 ### Computing asymptotic complexity ### 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Fully simplified ITS problem 5.59/2.55 5.59/2.55 Start location: evalEx4start 5.59/2.55 5.59/2.55 28: evalEx4start -> [11] : [ A>=1 ], cost: 4+3*A 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Computing asymptotic complexity for rule 28 5.59/2.55 5.59/2.55 Solved the limit problem by the following transformations: 5.59/2.55 5.59/2.55 Created initial limit problem: 5.59/2.55 5.59/2.55 4+3*A (+), A (+/+!) [not solved] 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 removing all constraints (solved by SMT) 5.59/2.55 5.59/2.55 resulting limit problem: [solved] 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 applying transformation rule (C) using substitution {A==n} 5.59/2.55 5.59/2.55 resulting limit problem: 5.59/2.55 5.59/2.55 [solved] 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Solution: 5.59/2.55 5.59/2.55 A / n 5.59/2.55 5.59/2.55 Resulting cost 4+3*n has complexity: Poly(n^1) 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Found new complexity Poly(n^1). 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 Obtained the following overall complexity (w.r.t. the length of the input n): 5.59/2.55 5.59/2.55 Complexity: Poly(n^1) 5.59/2.55 5.59/2.55 Cpx degree: 1 5.59/2.55 5.59/2.55 Solved cost: 4+3*n 5.59/2.55 5.59/2.55 Rule cost: 4+3*A 5.59/2.55 5.59/2.55 Rule guard: [ A>=1 ] 5.59/2.55 5.59/2.55 5.59/2.55 5.59/2.55 WORST_CASE(Omega(n^1),?) 5.59/2.55 5.59/2.55 5.59/2.55 ---------------------------------------- 5.59/2.55 5.59/2.55 (4) 5.59/2.55 BOUNDS(n^1, INF) 5.59/2.57 EOF