Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars:
Locations: l0, l1
Transitions:
t₀: l0(X₀, X₁, X₂, X₃) → l1(X₀, X₁, 2, X₃) :|: 0 ≤ X₀ ∧ X₀ ≤ 3 ∧ X₁ ≤ 3 ∧ 0 ≤ X₁
t₁: l1(X₀, X₁, X₂, X₃) → l1(X₀, X₁+1, X₂, X₁+1) :|: 2⋅X₁+1 ≤ X₂+X₀ ∧ 2 ≤ 0
t₂: l1(X₀, X₁, X₂, X₃) → l1(X₀, X₁+1, X₂, X₁+1) :|: 2⋅X₁+1 ≤ X₂+X₀
t₃: l1(X₀, X₁, X₂, X₃) → l1(X₀, X₁-1, X₂, X₁-1) :|: 2+X₂+X₀ ≤ 2⋅X₁
t₄: l1(X₀, X₁, X₂, X₃) → l1(X₀, X₁-1, X₂, X₁-1) :|: 2+X₂+X₀ ≤ 2⋅X₁ ∧ 2 ≤ 0
t₅: l1(X₀, X₁, X₂, X₃) → l1(X₀, X₁, X₂, X₁) :|: 1 ≤ 0 ∧ X₂+X₀ ≤ 2⋅X₁ ∧ 2⋅X₁ ≤ X₂+X₀+1
t₆: l1(X₀, X₁, X₂, X₃) → l1(X₀, X₁, X₂, X₁) :|: 1 ≤ 0 ∧ X₂+X₀ ≤ 2⋅X₁ ∧ 2⋅X₁ ≤ X₂+X₀+1

Preprocessing

Cut unsatisfiable transition t₁: l1→l1

Cut unsatisfiable transition t₄: l1→l1

Cut unsatisfiable transition t₅: l1→l1

Cut unsatisfiable transition t₆: l1→l1

Eliminate variables {X₃} that do not contribute to the problem

Found invariant X₂ ≤ 2 ∧ X₂ ≤ 2+X₁ ∧ X₁+X₂ ≤ 5 ∧ X₂ ≤ 2+X₀ ∧ X₀+X₂ ≤ 5 ∧ 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ 1+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ X₁ ≤ 3 ∧ X₁ ≤ 3+X₀ ∧ X₀+X₁ ≤ 6 ∧ 0 ≤ X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 3 ∧ 0 ≤ X₀ for location l1

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1
Transitions:
t₅₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, 2) :|: 0 ≤ X₀ ∧ X₀ ≤ 3 ∧ X₁ ≤ 3 ∧ 0 ≤ X₁
t₅₁: l1(X₀, X₁, X₂) → l1(X₀, X₁+1, X₂) :|: 2⋅X₁+1 ≤ X₂+X₀ ∧ X₂ ≤ 2 ∧ X₂ ≤ 2+X₁ ∧ X₁+X₂ ≤ 5 ∧ X₂ ≤ 2+X₀ ∧ X₀+X₂ ≤ 5 ∧ 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ 1+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ X₁ ≤ 3 ∧ X₁ ≤ 3+X₀ ∧ X₀+X₁ ≤ 6 ∧ 0 ≤ X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 3 ∧ 0 ≤ X₀
t₅₂: l1(X₀, X₁, X₂) → l1(X₀, X₁-1, X₂) :|: 2+X₂+X₀ ≤ 2⋅X₁ ∧ X₂ ≤ 2 ∧ X₂ ≤ 2+X₁ ∧ X₁+X₂ ≤ 5 ∧ X₂ ≤ 2+X₀ ∧ X₀+X₂ ≤ 5 ∧ 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ 1+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ X₁ ≤ 3 ∧ X₁ ≤ 3+X₀ ∧ X₀+X₁ ≤ 6 ∧ 0 ≤ X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 3 ∧ 0 ≤ X₀

Found invariant X₂ ≤ 2 ∧ X₂ ≤ 2+X₁ ∧ X₁+X₂ ≤ 5 ∧ X₂ ≤ 2+X₀ ∧ X₀+X₂ ≤ 5 ∧ 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ 1+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ X₁ ≤ 3 ∧ X₁ ≤ 3+X₀ ∧ X₀+X₁ ≤ 6 ∧ 0 ≤ X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 3 ∧ 0 ≤ X₀ for location l1

Time-Bound by TWN-Loops:

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

TWN-Loops:

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

Termination: true
Formula:

2 < 0
∨ 2⋅X₁+1 < X₂+X₀ ∧ 2 ≤ 0 ∧ 0 ≤ 2
∨ 2 ≤ 0 ∧ 0 ≤ 2 ∧ 2⋅X₁+1 ≤ X₂+X₀ ∧ X₂+X₀ ≤ 2⋅X₁+1

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

relevant size-bounds w.r.t. t₅₀:
X₀: 3 {O(1)}
X₁: 3 {O(1)}
X₂: 2 {O(1)}
Runtime-bound of t₅₀: 1 {O(1)}
Results in: 28 {O(1)}

28 {O(1)}

Found invariant X₂ ≤ 2 ∧ X₂ ≤ 2+X₁ ∧ X₁+X₂ ≤ 5 ∧ X₂ ≤ 2+X₀ ∧ X₀+X₂ ≤ 5 ∧ 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ 1+X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ X₁ ≤ 3 ∧ X₁ ≤ 3+X₀ ∧ X₀+X₁ ≤ 6 ∧ 0 ≤ X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 3 ∧ 0 ≤ X₀ for location l1

Time-Bound by TWN-Loops:

TWN-Loops: t₅₂ 30 {O(1)}

TWN-Loops:

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

Termination: true
Formula:

2 < 0
∨ 2+X₂+X₀ < 2⋅X₁ ∧ 2 ≤ 0 ∧ 0 ≤ 2
∨ 2 ≤ 0 ∧ 0 ≤ 2 ∧ 2+X₂+X₀ ≤ 2⋅X₁ ∧ 2⋅X₁ ≤ 2+X₂+X₀

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

relevant size-bounds w.r.t. t₅₀:
X₀: 3 {O(1)}
X₁: 3 {O(1)}
X₂: 2 {O(1)}
Runtime-bound of t₅₀: 1 {O(1)}
Results in: 30 {O(1)}

30 {O(1)}

All Bounds

Timebounds

Overall timebound:59 {O(1)}
t₅₀: 1 {O(1)}
t₅₁: 28 {O(1)}
t₅₂: 30 {O(1)}

Costbounds

Overall costbound: 59 {O(1)}
t₅₀: 1 {O(1)}
t₅₁: 28 {O(1)}
t₅₂: 30 {O(1)}

Sizebounds

t₅₀, X₀: 3 {O(1)}
t₅₀, X₁: 3 {O(1)}
t₅₀, X₂: 2 {O(1)}
t₅₁, X₀: 3 {O(1)}
t₅₁, X₁: 3 {O(1)}
t₅₁, X₂: 2 {O(1)}
t₅₂, X₀: 2 {O(1)}
t₅₂, X₁: 2 {O(1)}
t₅₂, X₂: 2 {O(1)}