Initial Problem

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

Preprocessing

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

Found invariant X₃ ≤ X₀ ∧ X₁+X₂ ≤ 0 for location l5

Found invariant X₃ ≤ X₀ for location l1

Found invariant X₃ ≤ X₀ ∧ X₁+X₂ ≤ 0 for location l4

Found invariant X₃ ≤ X₀ ∧ 1 ≤ X₁+X₂ for location l3

Problem after Preprocessing

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

TWN: t₁₂: l1→l3

cycle: [t₁₂: l1→l3; t₁₅: l3→l1]
loop: (0 < X₁+X₂,(X₀,X₁,X₂) -> (X₀+1,-2⋅X₁-2,X₀+1)
order: [X₀; X₁; X₂]
closed-form:
X₀: X₀ + [[n != 0]] * 2 * n^1
X₁: X₁ * 4^n + [[n != 0]] * 2/3 * 4^n + [[n != 0]] * -2/3
X₂: [[n == 0]] * X₂ + [[n != 0]] * 2+X₀ + [[n != 0, n != 1]] * 2 * n^1 + [[n != 0, n != 1]] * -2

Termination: true
Formula:

6⋅X₁+4 < 0 ∧ 0 < 3⋅X₁+2
∨ 6⋅X₁+4 < 0 ∧ 0 < 6 ∧ 0 ≤ 3⋅X₁+2 ∧ 3⋅X₁+2 ≤ 0
∨ 6⋅X₁+4 < 0 ∧ 2 < 3⋅X₀ ∧ 0 ≤ 3⋅X₁+2 ∧ 3⋅X₁+2 ≤ 0 ∧ 0 ≤ 6 ∧ 6 ≤ 0
∨ 0 < 6 ∧ 6⋅X₁+4 ≤ 0 ∧ 0 ≤ 6⋅X₁+4 ∧ 0 < 3⋅X₁+2
∨ 6⋅X₁+4 ≤ 0 ∧ 0 ≤ 6⋅X₁+4 ∧ 0 < 6 ∧ 0 ≤ 3⋅X₁+2 ∧ 3⋅X₁+2 ≤ 0
∨ 0 < 6 ∧ 6⋅X₁+4 ≤ 0 ∧ 0 ≤ 6⋅X₁+4 ∧ 2 < 3⋅X₀ ∧ 0 ≤ 3⋅X₁+2 ∧ 3⋅X₁+2 ≤ 0 ∧ 0 ≤ 6 ∧ 6 ≤ 0
∨ 0 < 1+3⋅X₀ ∧ 6⋅X₁+4 ≤ 0 ∧ 0 ≤ 6⋅X₁+4 ∧ 0 ≤ 6 ∧ 6 ≤ 0 ∧ 0 < 3⋅X₁+2
∨ 0 < 1+3⋅X₀ ∧ 6⋅X₁+4 ≤ 0 ∧ 0 ≤ 6⋅X₁+4 ∧ 0 ≤ 6 ∧ 6 ≤ 0 ∧ 0 < 6 ∧ 0 ≤ 3⋅X₁+2 ∧ 3⋅X₁+2 ≤ 0
∨ 0 < 1+3⋅X₀ ∧ 6⋅X₁+4 ≤ 0 ∧ 0 ≤ 6⋅X₁+4 ∧ 2 < 3⋅X₀ ∧ 0 ≤ 3⋅X₁+2 ∧ 3⋅X₁+2 ≤ 0 ∧ 0 ≤ 6 ∧ 6 ≤ 0

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

TWN - Lifting for t₁₂: l1→l3 of 24⋅X₀+65 {O(n)}

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

TWN: t₁₅: l3→l1

TWN - Lifting for t₁₅: l3→l1 of 24⋅X₀+65 {O(n)}

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

All Bounds

Timebounds

Overall timebound:48⋅X₃+134 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 24⋅X₃+65 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 1 {O(1)}
t₁₅: 24⋅X₃+65 {O(n)}
t₁₆: 1 {O(1)}

Costbounds

Overall costbound: 48⋅X₃+134 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 24⋅X₃+65 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 1 {O(1)}
t₁₅: 24⋅X₃+65 {O(n)}
t₁₆: 1 {O(1)}

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₀: 25⋅X₃+65 {O(n)}
t₁₂, X₁: 24⋅2^(24⋅X₃+65)⋅X₃+2^(24⋅X₃+65)⋅65+2^(24⋅X₃+65)⋅X₄ {O(EXP)}
t₁₂, X₂: 25⋅X₃+X₅+66 {O(n)}
t₁₂, X₃: X₃ {O(n)}
t₁₂, X₄: X₄ {O(n)}
t₁₂, X₅: X₅ {O(n)}
t₁₃, X₀: 26⋅X₃+65 {O(n)}
t₁₃, X₁: 24⋅2^(24⋅X₃+65)⋅X₃+2^(24⋅X₃+65)⋅65+2^(24⋅X₃+65)⋅X₄+X₄ {O(EXP)}
t₁₃, X₂: 25⋅X₃+X₅+66 {O(n)}
t₁₃, X₃: 2⋅X₃ {O(n)}
t₁₃, X₄: 2⋅X₄ {O(n)}
t₁₃, X₅: 2⋅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₀: 25⋅X₃+65 {O(n)}
t₁₅, X₁: 24⋅2^(24⋅X₃+65)⋅X₃+2^(24⋅X₃+65)⋅65+2^(24⋅X₃+65)⋅X₄ {O(EXP)}
t₁₅, X₂: 25⋅X₃+66 {O(n)}
t₁₅, X₃: X₃ {O(n)}
t₁₅, X₄: X₄ {O(n)}
t₁₅, X₅: X₅ {O(n)}
t₁₆, X₀: 26⋅X₃+65 {O(n)}
t₁₆, X₁: 24⋅2^(24⋅X₃+65)⋅X₃+2^(24⋅X₃+65)⋅65+2^(24⋅X₃+65)⋅X₄+X₄ {O(EXP)}
t₁₆, X₂: 25⋅X₃+X₅+66 {O(n)}
t₁₆, X₃: 2⋅X₃ {O(n)}
t₁₆, X₄: 2⋅X₄ {O(n)}
t₁₆, X₅: 2⋅X₅ {O(n)}