Initial Problem

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

Preprocessing

Eliminate variables {X₄,X₅,X₆} that do not contribute to the problem

Found invariant X₅ ≤ X₁ ∧ X₄ ≤ X₀ ∧ X₃ ≤ X₁ ∧ X₂ ≤ X₀ for location l5

Found invariant X₅ ≤ X₁ ∧ X₄ ≤ X₀ for location l1

Found invariant X₅ ≤ X₁ ∧ X₄ ≤ X₀ ∧ X₃ ≤ X₁ ∧ X₂ ≤ X₀ for location l4

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

MPRF for transition t₁₄: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l3(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₀ < X₂ ∧ X₅ ≤ X₁ ∧ X₄ ≤ X₀ of depth 1:

new bound:

X₂+X₄ {O(n)}

MPRF for transition t₁₅: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l3(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₁ < X₃ ∧ X₅ ≤ X₁ ∧ X₄ ≤ X₀ of depth 1:

new bound:

X₃+X₅ {O(n)}

TWN: t₁₈: l3→l1

cycle: [t₁₈: l3→l1; t₁₄: l1→l3; t₁₅: l1→l3]
loop: (X₀ < X₂ ∨ X₁ < X₃,(X₀,X₁,X₂,X₃) -> (X₀+1,X₁+1,X₂,X₃)
order: [X₀; X₁; X₂; X₃]
closed-form:
X₀: X₀ + [[n != 0]] * n^1
X₁: X₁ + [[n != 0]] * n^1
X₂: X₂
X₃: X₃

Termination: true
Formula:

1 < 0
∨ X₀ < X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 < 0
∨ X₁ < X₃ ∧ 1 ≤ 0 ∧ 0 ≤ 1

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

TWN - Lifting for t₁₈: l3→l1 of 2⋅X₀+2⋅X₁+2⋅X₂+2⋅X₃+6 {O(n)}

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

All Bounds

Timebounds

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

Costbounds

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