Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(0, 10, 0)
t₁: l1(X₀, X₁, X₂) → l1(X₀+2, X₁, X₂+1) :|: X₂+1 ≤ X₁
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₀+1 ≤ 2⋅X₁ ∧ X₁ ≤ X₂
t₃: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: 2⋅X₁ ≤ X₀ ∧ X₁ ≤ X₂

Preprocessing

Found invariant X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 10 ≤ X₂ ∧ 20 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 20 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ X₀ ∧ 10 ≤ X₁ ∧ 20 ≤ X₀+X₁ ∧ 10 ≤ X₀ for location l2

Found invariant X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 10 ≤ X₁+X₂ ∧ X₁ ≤ 10+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ 10+X₀ ∧ 10 ≤ X₁ ∧ 10 ≤ X₀+X₁ ∧ 0 ≤ 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(0, 10, 0)
t₁: l1(X₀, X₁, X₂) → l1(X₀+2, X₁, X₂+1) :|: X₂+1 ≤ X₁ ∧ X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 10 ≤ X₁+X₂ ∧ X₁ ≤ 10+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ 10+X₀ ∧ 10 ≤ X₁ ∧ 10 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₀+1 ≤ 2⋅X₁ ∧ X₁ ≤ X₂ ∧ X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 10 ≤ X₁+X₂ ∧ X₁ ≤ 10+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ 10+X₀ ∧ 10 ≤ X₁ ∧ 10 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₃: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: 2⋅X₁ ≤ X₀ ∧ X₁ ≤ X₂ ∧ X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 10 ≤ X₁+X₂ ∧ X₁ ≤ 10+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ 10+X₀ ∧ 10 ≤ X₁ ∧ 10 ≤ X₀+X₁ ∧ 0 ≤ X₀

Found invariant X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 10 ≤ X₂ ∧ 20 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 20 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ X₀ ∧ 10 ≤ X₁ ∧ 20 ≤ X₀+X₁ ∧ 10 ≤ X₀ for location l2

Found invariant X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 10 ≤ X₁+X₂ ∧ X₁ ≤ 10+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ 10+X₀ ∧ 10 ≤ X₁ ∧ 10 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location l1

Time-Bound by TWN-Loops:

TWN-Loops: t₁ 26 {O(1)}

TWN-Loops:

entry: t₀: l0(X₀, X₁, X₂) → l1(0, 10, 0)
results in twn-loop: twn:Inv: [X₂ ≤ 10 ∧ X₂ ≤ X₁ ∧ X₁+X₂ ≤ 20 ∧ X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 10 ≤ X₁+X₂ ∧ X₁ ≤ 10+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₁ ≤ 10 ∧ X₁ ≤ 10+X₀ ∧ 10 ≤ X₁ ∧ 10 ≤ X₀+X₁ ∧ 0 ≤ X₀] , (X₀,X₁,X₂) -> (X₀+2,X₁,X₂+1) :|: X₂+1 ≤ X₁
order: [X₀; X₁; X₂]
closed-form:
X₀: X₀ + [[n != 0]] * 2 * n^1
X₁: X₁
X₂: X₂ + [[n != 0]] * n^1

Termination: true
Formula:

1 < 0
∨ X₂+1 < X₁ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₂+1 ≤ X₁ ∧ X₁ ≤ X₂+1

Stabilization-Threshold for: X₂+1 ≤ X₁
alphas_abs: X₂+1+X₁
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₂+4 {O(n)}

relevant size-bounds w.r.t. t₀:
X₁: 10 {O(1)}
X₂: 0 {O(1)}
Runtime-bound of t₀: 1 {O(1)}
Results in: 26 {O(1)}

26 {O(1)}

All Bounds

Timebounds

Overall timebound:29 {O(1)}
t₀: 1 {O(1)}
t₁: 26 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}

Costbounds

Overall costbound: 29 {O(1)}
t₀: 1 {O(1)}
t₁: 26 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}

Sizebounds

t₀, X₀: 0 {O(1)}
t₀, X₁: 10 {O(1)}
t₀, X₂: 0 {O(1)}
t₁, X₀: 52 {O(1)}
t₁, X₁: 10 {O(1)}
t₁, X₂: 10 {O(1)}
t₂, X₀: 19 {O(1)}
t₂, X₁: 10 {O(1)}
t₂, X₂: 10 {O(1)}
t₃, X₀: 52 {O(1)}
t₃, X₁: 10 {O(1)}
t₃, X₂: 10 {O(1)}