Initial Problem

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

Preprocessing

Eliminate variables {F,X₁} that do not contribute to the problem

Found invariant 2 ≤ X₂ ∧ 4 ≤ X₀+X₂ ∧ 2 ≤ X₀ for location l1

Problem after Preprocessing

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

Found invariant 2 ≤ X₂ ∧ 4 ≤ X₀+X₂ ∧ 2 ≤ X₀ for location l1

Time-Bound by TWN-Loops:

TWN-Loops: t₁₆ 2⋅X₃+4⋅X₄+8 {O(n)}

TWN-Loops:

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

Termination: true
Formula:

1 < 0 ∧ 0 < 1
∨ 1 < 0 ∧ 0 < X₄ ∧ 0 ≤ 1 ∧ 1 ≤ 0
∨ 1 < 0 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 2+X₃ < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < 1
∨ 2+X₃ < 0 ∧ 0 < X₄ ∧ 0 ≤ 1 ∧ 1 ≤ 0
∨ 2+X₃ < 0 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₃ ≤ 0 ∧ 0 ≤ 2+X₃ ∧ 0 < 1
∨ 2+X₃ ≤ 0 ∧ 0 ≤ 2+X₃ ∧ 0 < X₄ ∧ 0 ≤ 1 ∧ 1 ≤ 0
∨ 2+X₃ ≤ 0 ∧ 0 ≤ 2+X₃ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1 < 0
∨ 1 < 0 ∧ 2+X₄ < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₄ ≤ 0 ∧ 0 ≤ 2+X₄
∨ 2+X₃ < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 1 < 0
∨ 2+X₃ < 0 ∧ 2+X₄ < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₃ < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₄ ≤ 0 ∧ 0 ≤ 2+X₄
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₃ ≤ 0 ∧ 0 ≤ 2+X₃ ∧ 1 < 0
∨ 2+X₃ ≤ 0 ∧ 0 ≤ 2+X₃ ∧ 2+X₄ < 0 ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 2+X₃ ≤ 0 ∧ 0 ≤ 2+X₃ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2+X₄ ≤ 0 ∧ 0 ≤ 2+X₄

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

relevant size-bounds w.r.t. t₁₄:
X₃: X₃ {O(n)}
X₄: X₄ {O(n)}
Runtime-bound of t₁₄: 1 {O(1)}
Results in: 2⋅X₃+4⋅X₄+8 {O(n)}

2⋅X₃+4⋅X₄+8 {O(n)}

Time-Bound by TWN-Loops:

TWN-Loops: t₁₇ 2⋅X₃+4⋅X₄+8 {O(n)}

relevant size-bounds w.r.t. t₁₄:
X₃: X₃ {O(n)}
X₄: X₄ {O(n)}
Runtime-bound of t₁₄: 1 {O(1)}
Results in: 2⋅X₃+4⋅X₄+8 {O(n)}

2⋅X₃+4⋅X₄+8 {O(n)}

All Bounds

Timebounds

Overall timebound:4⋅X₃+8⋅X₄+19 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 1 {O(1)}
t₁₅: 1 {O(1)}
t₁₆: 2⋅X₃+4⋅X₄+8 {O(n)}
t₁₇: 2⋅X₃+4⋅X₄+8 {O(n)}

Costbounds

Overall costbound: 4⋅X₃+8⋅X₄+19 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 1 {O(1)}
t₁₅: 1 {O(1)}
t₁₆: 2⋅X₃+4⋅X₄+8 {O(n)}
t₁₇: 2⋅X₃+4⋅X₄+8 {O(n)}

Sizebounds

t₁₃, X₀: X₀ {O(n)}
t₁₃, X₂: X₂ {O(n)}
t₁₃, X₃: X₃ {O(n)}
t₁₃, X₄: X₄ {O(n)}
t₁₄, X₀: X₀ {O(n)}
t₁₄, X₂: X₂ {O(n)}
t₁₄, X₃: X₃ {O(n)}
t₁₄, X₄: X₄ {O(n)}
t₁₅, X₀: 3⋅X₀ {O(n)}
t₁₅, X₂: 3⋅X₂ {O(n)}
t₁₅, X₃: 3⋅X₃ {O(n)}
t₁₅, X₄: 2⋅X₃+7⋅X₄+8 {O(n)}
t₁₆, X₀: X₀ {O(n)}
t₁₆, X₂: X₂ {O(n)}
t₁₆, X₃: X₃ {O(n)}
t₁₆, X₄: 2⋅X₃+5⋅X₄+8 {O(n)}
t₁₇, X₀: X₀ {O(n)}
t₁₇, X₂: X₂ {O(n)}
t₁₇, X₃: X₃ {O(n)}
t₁₇, X₄: X₄ {O(n)}