Initial Problem

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₅) :|: X₀ < 0
t₃: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l3(X₀, X₁, X₂, X₃, X₄, X₅) :|: 0 < X₀
t₄: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l4(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₀ ≤ 0 ∧ 0 ≤ X₀
t₁: l2(X₀, X₁, X₂, X₃, X₄, X₅) → l1(1, X₄, X₂, X₃, X₄, X₅)
t₅: l3(X₀, X₁, X₂, X₃, X₄, X₅) → l1(0, X₁+1, X₂, X₃, X₄, X₅) :|: X₅ ≤ X₁
t₆: l3(X₀, X₁, X₂, X₃, X₄, X₅) → l1(X₀, X₁+1, X₂, X₃, X₄, X₅) :|: X₁ < X₅
t₇: l4(X₀, X₁, X₂, X₃, X₄, X₅) → l5(X₀, X₁, X₂, X₃, X₄, X₅)

Preprocessing

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

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀ for location l5

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 1 ∧ 0 ≤ X₀ for location l1

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀ for location l4

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 1 ∧ 1 ≤ X₀ for location l3

Cut unsatisfiable transition t₁₇: l1→l3

Problem after Preprocessing

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

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀ for location l5

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 1 ∧ 0 ≤ X₀ for location l1

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀ for location l4

Found invariant X₄ ≤ X₁ ∧ X₀ ≤ 1 ∧ 1 ≤ X₀ for location l3

Time-Bound by TWN-Loops:

TWN-Loops: t₁₈ 2⋅X₄+2⋅X₅+5 {O(n)}

TWN-Loops:

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

Termination: true
Formula:

1 < 0 ∧ 0 < X₀
∨ X₁ < X₅ ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 0 < X₀

Stabilization-Threshold for: X₁ < X₅
alphas_abs: X₁+X₅
M: 0
N: 1
Bound: 2⋅X₁+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₄+2⋅X₅+5 {O(n)}

2⋅X₄+2⋅X₅+5 {O(n)}

Time-Bound by TWN-Loops:

TWN-Loops: t₂₂ 2⋅X₄+2⋅X₅+5 {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₄+2⋅X₅+5 {O(n)}

2⋅X₄+2⋅X₅+5 {O(n)}

knowledge_propagation leads to new time bound 2⋅X₄+2⋅X₅+5 {O(n)} for transition t₂₁: l3(X₀, X₁, X₄, X₅) → l1(0, X₁+1, X₄, X₅) :|: X₅ ≤ X₁ ∧ X₄ ≤ X₁ ∧ X₀ ≤ 1 ∧ 1 ≤ X₀

All Bounds

Timebounds

Overall timebound:6⋅X₄+6⋅X₅+19 {O(n)}
t₁₆: 1 {O(1)}
t₁₈: 2⋅X₄+2⋅X₅+5 {O(n)}
t₁₉: 1 {O(1)}
t₂₀: 1 {O(1)}
t₂₁: 2⋅X₄+2⋅X₅+5 {O(n)}
t₂₂: 2⋅X₄+2⋅X₅+5 {O(n)}
t₂₃: 1 {O(1)}

Costbounds

Overall costbound: 6⋅X₄+6⋅X₅+19 {O(n)}
t₁₆: 1 {O(1)}
t₁₈: 2⋅X₄+2⋅X₅+5 {O(n)}
t₁₉: 1 {O(1)}
t₂₀: 1 {O(1)}
t₂₁: 2⋅X₄+2⋅X₅+5 {O(n)}
t₂₂: 2⋅X₄+2⋅X₅+5 {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₀: 1 {O(1)}
t₁₈, X₁: 2⋅X₅+3⋅X₄+5 {O(n)}
t₁₈, X₄: X₄ {O(n)}
t₁₈, X₅: X₅ {O(n)}
t₁₉, X₀: 0 {O(1)}
t₁₉, X₁: 2⋅X₅+3⋅X₄+6 {O(n)}
t₁₉, X₄: X₄ {O(n)}
t₁₉, X₅: X₅ {O(n)}
t₂₀, X₀: 1 {O(1)}
t₂₀, X₁: X₄ {O(n)}
t₂₀, X₄: X₄ {O(n)}
t₂₀, X₅: X₅ {O(n)}
t₂₁, X₀: 0 {O(1)}
t₂₁, X₁: 2⋅X₅+3⋅X₄+6 {O(n)}
t₂₁, X₄: X₄ {O(n)}
t₂₁, X₅: X₅ {O(n)}
t₂₂, X₀: 1 {O(1)}
t₂₂, X₁: 2⋅X₅+3⋅X₄+5 {O(n)}
t₂₂, X₄: X₄ {O(n)}
t₂₂, X₅: X₅ {O(n)}
t₂₃, X₀: 0 {O(1)}
t₂₃, X₁: 2⋅X₅+3⋅X₄+6 {O(n)}
t₂₃, X₄: X₄ {O(n)}
t₂₃, X₅: X₅ {O(n)}