Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₁+1) :|: X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁
t₁: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₂+1 ≤ X₁
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₁+1 ≤ X₂
t₃: l2(X₀, X₁, X₂) → l1(X₀, X₁, 0) :|: 0 ≤ 1+X₀ ∧ 1 ≤ X₂ ∧ X₀+1 ≤ X₂
t₄: l2(X₀, X₁, X₂) → l1(X₀, X₁, X₂+1) :|: X₂ ≤ X₀ ∧ 0 ≤ 1+X₂
Preprocessing
Found invariant X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l2
Found invariant X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l1
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₁+1) :|: X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁
t₁: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₂+1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₁+1 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₃: l2(X₀, X₁, X₂) → l1(X₀, X₁, 0) :|: 0 ≤ 1+X₀ ∧ 1 ≤ X₂ ∧ X₀+1 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₄: l2(X₀, X₁, X₂) → l1(X₀, X₁, X₂+1) :|: X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
Chain transitions t₄: l2→l1 and t₂: l1→l2 to t₇₆: l2→l2
Chain transitions t₃: l2→l1 and t₂: l1→l2 to t₇₇: l2→l2
Chain transitions t₃: l2→l1 and t₁: l1→l2 to t₇₈: l2→l2
Chain transitions t₄: l2→l1 and t₁: l1→l2 to t₇₉: l2→l2
Chain transitions t₀: l0→l1 and t₁: l1→l2 to t₈₀: l0→l2
Chain transitions t₀: l0→l1 and t₂: l1→l2 to t₈₁: l0→l2
Analysing control-flow refined program
Cut unsatisfiable transition t₇₇: l2→l2
Cut unsatisfiable transition t₈₀: l0→l2
Found invariant X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l2
Found invariant X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l1
MPRF for transition t₇₆: l2(X₀, X₁, X₂) -{2}> l2(X₀, X₁, 1+X₂) :|: X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ X₁ ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ ∧ X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ 0 ≤ X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
X₀+X₁+2 {O(n)}
TWN: t₇₈: l2→l2
cycle: [t₇₈: l2→l2]
loop: (0 ≤ 1+X₀ ∧ 1 ≤ X₂ ∧ X₀+1 ≤ X₂ ∧ 1 ≤ X₁,(X₀,X₁,X₂) -> (X₀,X₁,0)
order: [X₀; X₁; X₂]
closed-form:
X₀: X₀
X₁: X₁
X₂: [[n == 0]] * X₂
Termination: true
Formula:
1 < X₁ ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 < X₁ ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
loop: (0 ≤ 1+X₀ ∧ 1 ≤ X₂ ∧ X₀+1 ≤ X₂ ∧ 1 ≤ X₁,(X₀,X₁,X₂) -> (X₀,X₁,0)
order: [X₀; X₁; X₂]
closed-form:
X₀: X₀
X₁: X₁
X₂: [[n == 0]] * X₂
Termination: true
Formula:
1 < X₁ ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 < X₁ ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 < X₁ ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 < 0 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1+X₀
∨ 1 ≤ X₁ ∧ X₁ ≤ 1 ∧ X₀+1 ≤ 0 ∧ 0 ≤ X₀+1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1+X₀ ≤ 0
TWN - Lifting for t₇₈: l2→l2 of 6 {O(1)}
relevant size-bounds w.r.t. t₇₆:
Runtime-bound of t₇₆: X₀+X₁+2 {O(n)}
Results in: 6⋅X₀+6⋅X₁+12 {O(n)}
TWN - Lifting for t₇₈: l2→l2 of 6 {O(1)}
relevant size-bounds w.r.t. t₈₁:
Runtime-bound of t₈₁: 1 {O(1)}
Results in: 6 {O(1)}
TWN: t₇₉: l2→l2
cycle: [t₇₆: l2→l2; t₇₉: l2→l2]
loop: (X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ X₁ ≤ X₂ ∨ X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ 2+X₂ ≤ X₁,(X₀,X₁,X₂) -> (X₀,X₁,1+X₂)
order: [X₀; X₁; X₂]
closed-form:
X₀: X₀
X₁: X₁
X₂: X₂ + [[n != 0]] * n^1
Termination: true
Formula:
0 < 1 ∧ 1 < 0
∨ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1 ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 0 < 1 ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 0 < 1 ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 0 < 1 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 0 < 1 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ < X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 < 1 ∧ 1 < 0
∨ X₁ < X₂ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ < X₂ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ < X₂ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ X₁ < X₂ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ < X₂ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ < X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ X₁ < X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ < X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1 ∧ 1 < 0
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1 ∧ 1 < 0
∨ 1 < 0 ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 1 < 0 ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 1 < 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ < X₁ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1 ∧ 1 < 0
∨ 2+X₂ < X₁ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ < X₁ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ < X₁ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 2+X₂ < X₁ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ < X₁ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ < X₁ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 2+X₂ < X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ < X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1 ∧ 1 < 0
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
Stabilization-Threshold for: 2+X₂ ≤ X₁
alphas_abs: 2+X₂+X₁
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₂+6 {O(n)}
Stabilization-Threshold for: 0 ≤ 1+X₂
alphas_abs: 1+X₂
M: 0
N: 1
Bound: 2⋅X₂+4 {O(n)}
Stabilization-Threshold for: X₂ ≤ X₀
alphas_abs: X₂+X₀
M: 0
N: 1
Bound: 2⋅X₀+2⋅X₂+2 {O(n)}
Stabilization-Threshold for: X₁ ≤ X₂
alphas_abs: X₁+X₂
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₂+2 {O(n)}
loop: (X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ X₁ ≤ X₂ ∨ X₂ ≤ X₀ ∧ 0 ≤ 1+X₂ ∧ 2+X₂ ≤ X₁,(X₀,X₁,X₂) -> (X₀,X₁,1+X₂)
order: [X₀; X₁; X₂]
closed-form:
X₀: X₀
X₁: X₁
X₂: X₂ + [[n != 0]] * n^1
Termination: true
Formula:
0 < 1 ∧ 1 < 0
∨ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1 ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 0 < 1 ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 0 < 1 ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 0 < 1 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 0 < 1 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ < X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 < 1 ∧ 1 < 0
∨ X₁ < X₂ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ < X₂ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ < X₂ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ X₁ < X₂ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ < X₂ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ < X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ X₁ < X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ < X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1 ∧ 1 < 0
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1 ∧ 1 < 0
∨ 1 < 0 ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 1 < 0 ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 1 < 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ < X₁ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1 ∧ 1 < 0
∨ 2+X₂ < X₁ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ < X₁ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ < X₁ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 2+X₂ < X₁ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ < X₁ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ < X₁ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 2+X₂ < X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ < X₁ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1 ∧ 1 < 0
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 < 0
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1+X₂ ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 < 1+X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 < 0
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ X₂ < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₂ ≤ X₁ ∧ X₁ ≤ 2+X₂ ∧ 0 ≤ 1+X₂ ∧ 1+X₂ ≤ 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂ ≤ X₀ ∧ X₀ ≤ X₂
Stabilization-Threshold for: 2+X₂ ≤ X₁
alphas_abs: 2+X₂+X₁
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₂+6 {O(n)}
Stabilization-Threshold for: 0 ≤ 1+X₂
alphas_abs: 1+X₂
M: 0
N: 1
Bound: 2⋅X₂+4 {O(n)}
Stabilization-Threshold for: X₂ ≤ X₀
alphas_abs: X₂+X₀
M: 0
N: 1
Bound: 2⋅X₀+2⋅X₂+2 {O(n)}
Stabilization-Threshold for: X₁ ≤ X₂
alphas_abs: X₁+X₂
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₂+2 {O(n)}
TWN - Lifting for t₇₉: l2→l2 of 2⋅X₀+4⋅X₁+8⋅X₂+16 {O(n)}
relevant size-bounds w.r.t. t₈₁:
X₀: X₀ {O(n)}
X₁: X₁ {O(n)}
X₂: X₁+1 {O(n)}
Runtime-bound of t₈₁: 1 {O(1)}
Results in: 12⋅X₁+2⋅X₀+24 {O(n)}
TWN - Lifting for t₇₉: l2→l2 of 2⋅X₀+4⋅X₁+8⋅X₂+16 {O(n)}
relevant size-bounds w.r.t. t₇₈:
X₀: 2⋅X₀ {O(n)}
X₁: 2⋅X₁ {O(n)}
X₂: 0 {O(1)}
Runtime-bound of t₇₈: 6⋅X₀+6⋅X₁+18 {O(n)}
Results in: 24⋅X₀⋅X₀+48⋅X₁⋅X₁+72⋅X₀⋅X₁+168⋅X₀+240⋅X₁+288 {O(n^2)}
Analysing control-flow refined program
Cut unsatisfiable transition t₁₈₃: n_l1___4→n_l2___2
Cut unreachable locations [n_l2___2] from the program graph
Found invariant X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location n_l1___6
Found invariant X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location n_l1___4
Found invariant X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location n_l2___5
Found invariant X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location n_l1___7
Found invariant X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location n_l2___1
Found invariant 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location n_l2___3
Found invariant X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l1
Found invariant X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location n_l2___8
MPRF for transition t₁₈₅: n_l1___6(X₀, X₁, X₂) → n_l2___1(X₀, X₁, X₂) :|: 1+X₁ ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ 1 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
X₀+X₁+4 {O(n)}
MPRF for transition t₁₈₈: n_l2___1(X₀, X₁, X₂) → n_l1___6(X₀, X₁, X₂+1) :|: 1+X₁ ≤ X₂ ∧ X₂ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
X₀+X₁+3 {O(n)}
MPRF for transition t₁₈₄: n_l1___4(X₀, X₁, X₂) → n_l2___3(X₀, X₁, X₂) :|: X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
2⋅X₀+2 {O(n)}
MPRF for transition t₁₉₁: n_l2___3(X₀, X₁, X₂) → n_l1___4(X₀, X₁, X₂+1) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
2⋅X₀+2 {O(n)}
CFR: Improvement to new bound with the following program:
new bound:
Infinite
cfr-program:
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, n_l1___4, n_l1___6, n_l1___7, n_l2___1, n_l2___3, n_l2___5, n_l2___8
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₁+1) :|: X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁
t₁₈₇: l1(X₀, X₁, X₂) → n_l2___8(X₀, X₁, X₂) :|: 1+X₁ ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ 2 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ 1 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₈₄: n_l1___4(X₀, X₁, X₂) → n_l2___3(X₀, X₁, X₂) :|: X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₈₅: n_l1___6(X₀, X₁, X₂) → n_l2___1(X₀, X₁, X₂) :|: 1+X₁ ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ 1 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₈₆: n_l1___7(X₀, X₁, X₂) → n_l2___5(X₀, X₁, X₂) :|: 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₈₈: n_l2___1(X₀, X₁, X₂) → n_l1___6(X₀, X₁, X₂+1) :|: 1+X₁ ≤ X₂ ∧ X₂ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₈₉: n_l2___1(X₀, X₁, X₂) → n_l1___7(X₀, X₁, 0) :|: 1+X₁ ≤ X₂ ∧ X₀+1 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₉₁: n_l2___3(X₀, X₁, X₂) → n_l1___4(X₀, X₁, X₂+1) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₉₂: n_l2___5(X₀, X₁, X₂) → n_l1___4(X₀, X₁, X₂+1) :|: X₂ ≤ 0 ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₉₃: n_l2___8(X₀, X₁, X₂) → n_l1___6(X₀, X₁, X₂+1) :|: X₁+1 ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₉₄: n_l2___8(X₀, X₁, X₂) → n_l1___7(X₀, X₁, 0) :|: X₁+1 ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ X₀+1 ≤ X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
CFR: Improvement to new bound with the following program:
new bound:
2⋅X₁+6⋅X₀+11 {O(n)}
cfr-program:
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, n_l1___4, n_l1___6, n_l1___7, n_l2___1, n_l2___3, n_l2___5, n_l2___8
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₁+1) :|: X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁
t₁₈₇: l1(X₀, X₁, X₂) → n_l2___8(X₀, X₁, X₂) :|: 1+X₁ ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ 2 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ 1 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₈₄: n_l1___4(X₀, X₁, X₂) → n_l2___3(X₀, X₁, X₂) :|: X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₈₅: n_l1___6(X₀, X₁, X₂) → n_l2___1(X₀, X₁, X₂) :|: 1+X₁ ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ 1 ≤ X₂ ∧ 1+X₁ ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₈₆: n_l1___7(X₀, X₁, X₂) → n_l2___5(X₀, X₁, X₂) :|: 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₈₈: n_l2___1(X₀, X₁, X₂) → n_l1___6(X₀, X₁, X₂+1) :|: 1+X₁ ≤ X₂ ∧ X₂ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₈₉: n_l2___1(X₀, X₁, X₂) → n_l1___7(X₀, X₁, 0) :|: 1+X₁ ≤ X₂ ∧ X₀+1 ≤ X₂ ∧ X₂ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₀ ∧ 3 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 5 ≤ X₀+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₉₁: n_l2___3(X₀, X₁, X₂) → n_l1___4(X₀, X₁, X₂+1) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₉₂: n_l2___5(X₀, X₁, X₂) → n_l1___4(X₀, X₁, X₂+1) :|: X₂ ≤ 0 ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₉₃: n_l2___8(X₀, X₁, X₂) → n_l1___6(X₀, X₁, X₂+1) :|: X₁+1 ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 0 ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₁₉₄: n_l2___8(X₀, X₁, X₂) → n_l1___7(X₀, X₁, 0) :|: X₁+1 ≤ X₂ ∧ X₂ ≤ 1+X₁ ∧ X₀+1 ≤ X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₂ ≤ 1+X₀ ∧ X₂ ≤ 1+X₁ ∧ X₂ ≤ 1+X₀ ∧ 2 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
All Bounds
Timebounds
Overall timebound:2⋅X₁+6⋅X₀+18 {O(n)}
t₀: 1 {O(1)}
t₁₈₄: 2⋅X₀+2 {O(n)}
t₁₈₅: X₀+X₁+4 {O(n)}
t₁₈₆: 1 {O(1)}
t₁₈₇: 1 {O(1)}
t₁₈₈: X₀+X₁+3 {O(n)}
t₁₈₉: 1 {O(1)}
t₁₉₁: 2⋅X₀+2 {O(n)}
t₁₉₂: 1 {O(1)}
t₁₉₃: 1 {O(1)}
t₁₉₄: 1 {O(1)}
Costbounds
Overall costbound: 2⋅X₁+6⋅X₀+18 {O(n)}
t₀: 1 {O(1)}
t₁₈₄: 2⋅X₀+2 {O(n)}
t₁₈₅: X₀+X₁+4 {O(n)}
t₁₈₆: 1 {O(1)}
t₁₈₇: 1 {O(1)}
t₁₈₈: X₀+X₁+3 {O(n)}
t₁₈₉: 1 {O(1)}
t₁₉₁: 2⋅X₀+2 {O(n)}
t₁₉₂: 1 {O(1)}
t₁₉₃: 1 {O(1)}
t₁₉₄: 1 {O(1)}
Sizebounds
t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₁+1 {O(n)}
t₁₈₄, X₀: 2⋅X₀ {O(n)}
t₁₈₄, X₁: 2⋅X₁ {O(n)}
t₁₈₄, X₂: 2⋅X₀+3 {O(n)}
t₁₈₅, X₀: X₀ {O(n)}
t₁₈₅, X₁: X₁ {O(n)}
t₁₈₅, X₂: 2⋅X₁+X₀+5 {O(n)}
t₁₈₆, X₀: 2⋅X₀ {O(n)}
t₁₈₆, X₁: 2⋅X₁ {O(n)}
t₁₈₆, X₂: 0 {O(1)}
t₁₈₇, X₀: X₀ {O(n)}
t₁₈₇, X₁: X₁ {O(n)}
t₁₈₇, X₂: X₁+1 {O(n)}
t₁₈₈, X₀: X₀ {O(n)}
t₁₈₈, X₁: X₁ {O(n)}
t₁₈₈, X₂: 2⋅X₁+X₀+5 {O(n)}
t₁₈₉, X₀: X₀ {O(n)}
t₁₈₉, X₁: X₁ {O(n)}
t₁₈₉, X₂: 0 {O(1)}
t₁₉₁, X₀: 2⋅X₀ {O(n)}
t₁₉₁, X₁: 2⋅X₁ {O(n)}
t₁₉₁, X₂: 2⋅X₀+3 {O(n)}
t₁₉₂, X₀: 2⋅X₀ {O(n)}
t₁₉₂, X₁: 2⋅X₁ {O(n)}
t₁₉₂, X₂: 1 {O(1)}
t₁₉₃, X₀: X₀ {O(n)}
t₁₉₃, X₁: X₁ {O(n)}
t₁₉₃, X₂: X₁+2 {O(n)}
t₁₉₄, X₀: X₀ {O(n)}
t₁₉₄, X₁: X₁ {O(n)}
t₁₉₄, X₂: 0 {O(1)}