Initial Problem

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

Preprocessing

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

Found invariant X₁ ≤ X₅ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₀ for location l6

Found invariant X₁ ≤ X₅ ∧ X₀ ≤ X₄ ∧ X₀ ≤ 0 for location l7

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

Found invariant X₁ ≤ X₅ ∧ X₀ ≤ X₄ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ X₀ ≤ 0 for location l8

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

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

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

new bound:

X₄ {O(n)}

MPRF for transition t₃₂: l6(X₀, X₁, X₂, X₃, X₄, X₅) → l5(X₀, X₁, X₀-1, X₁, X₄, X₅) :|: X₁ ≤ X₅ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₀ of depth 1:

new bound:

2⋅X₄ {O(n)}

MPRF for transition t₃₃: l7(X₀, X₁, X₂, X₃, X₄, X₅) → l5(X₀, X₁, X₀, X₁-1, X₄, X₅) :|: 0 < X₁ ∧ X₁ ≤ X₅ ∧ X₀ ≤ X₄ ∧ X₀ ≤ 0 of depth 1:

new bound:

X₅ {O(n)}

TWN: t₂₄: l1→l3

cycle: [t₂₄: l1→l3; t₂₅: l1→l3; t₂₉: l3→l7; t₃₄: l7→l5; t₃₁: l5→l1]
loop: (0 < X₀ ∧ X₀ ≤ 0 ∧ X₁ ≤ 0 ∨ 0 < X₁ ∧ X₀ ≤ 0 ∧ X₁ ≤ 0,(X₀,X₁) -> (X₀,X₁)
order: [X₀; X₁]
closed-form:
X₀: X₀
X₁: X₁

Termination: true
Formula:

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

loop: (0 < X₂ ∧ X₂ ≤ 0 ∧ X₃ ≤ 0 ∨ 0 < X₃ ∧ X₂ ≤ 0 ∧ X₃ ≤ 0,(X₂,X₃) -> (X₂,X₃)
order: [X₂; X₃]
closed-form:
X₂: X₂
X₃: X₃

Termination: true
Formula:

X₃ < 0 ∧ X₂ < 0 ∧ 0 < X₂
∨ X₃ < 0 ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₂
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ < 0 ∧ 0 < X₂
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₂
∨ X₃ < 0 ∧ X₂ < 0 ∧ 0 < X₃
∨ X₃ < 0 ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₃
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ < 0 ∧ 0 < X₃
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₃

loop: (0 < X₂ ∧ X₂ ≤ 0 ∧ X₃ ≤ 0 ∨ 0 < X₃ ∧ X₂ ≤ 0 ∧ X₃ ≤ 0,(X₂,X₃) -> (X₂,X₃)
order: [X₂; X₃]
closed-form:
X₂: X₂
X₃: X₃

Termination: true
Formula:

X₃ < 0 ∧ X₂ < 0 ∧ 0 < X₂
∨ X₃ < 0 ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₂
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ < 0 ∧ 0 < X₂
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₂
∨ X₃ < 0 ∧ X₂ < 0 ∧ 0 < X₃
∨ X₃ < 0 ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₃
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ < 0 ∧ 0 < X₃
∨ X₃ ≤ 0 ∧ 0 ≤ X₃ ∧ X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ 0 < X₃

TWN - Lifting for t₂₄: l1→l3 of 6 {O(1)}

relevant size-bounds w.r.t. t₂₇:
Runtime-bound of t₂₇: 1 {O(1)}
Results in: 6 {O(1)}

TWN - Lifting for t₂₄: l1→l3 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₃:
Runtime-bound of t₃₃: X₅ {O(n)}
Results in: 6⋅X₅ {O(n)}

TWN - Lifting for t₂₄: l1→l3 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₂:
Runtime-bound of t₃₂: 2⋅X₄ {O(n)}
Results in: 12⋅X₄ {O(n)}

TWN: t₂₅: l1→l3

TWN - Lifting for t₂₅: l1→l3 of 6 {O(1)}

relevant size-bounds w.r.t. t₂₇:
Runtime-bound of t₂₇: 1 {O(1)}
Results in: 6 {O(1)}

TWN - Lifting for t₂₅: l1→l3 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₃:
Runtime-bound of t₃₃: X₅ {O(n)}
Results in: 6⋅X₅ {O(n)}

TWN - Lifting for t₂₅: l1→l3 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₂:
Runtime-bound of t₃₂: 2⋅X₄ {O(n)}
Results in: 12⋅X₄ {O(n)}

TWN: t₂₉: l3→l7

TWN - Lifting for t₂₉: l3→l7 of 6 {O(1)}

relevant size-bounds w.r.t. t₂₇:
Runtime-bound of t₂₇: 1 {O(1)}
Results in: 6 {O(1)}

TWN - Lifting for t₂₉: l3→l7 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₃:
Runtime-bound of t₃₃: X₅ {O(n)}
Results in: 6⋅X₅ {O(n)}

TWN - Lifting for t₂₉: l3→l7 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₂:
Runtime-bound of t₃₂: 2⋅X₄ {O(n)}
Results in: 12⋅X₄ {O(n)}

TWN: t₃₁: l5→l1

TWN - Lifting for t₃₁: l5→l1 of 6 {O(1)}

relevant size-bounds w.r.t. t₂₇:
Runtime-bound of t₂₇: 1 {O(1)}
Results in: 6 {O(1)}

TWN - Lifting for t₃₁: l5→l1 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₃:
Runtime-bound of t₃₃: X₅ {O(n)}
Results in: 6⋅X₅ {O(n)}

TWN - Lifting for t₃₁: l5→l1 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₂:
Runtime-bound of t₃₂: 2⋅X₄ {O(n)}
Results in: 12⋅X₄ {O(n)}

TWN: t₃₄: l7→l5

TWN - Lifting for t₃₄: l7→l5 of 6 {O(1)}

relevant size-bounds w.r.t. t₂₇:
Runtime-bound of t₂₇: 1 {O(1)}
Results in: 6 {O(1)}

TWN - Lifting for t₃₄: l7→l5 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₃:
Runtime-bound of t₃₃: X₅ {O(n)}
Results in: 6⋅X₅ {O(n)}

TWN - Lifting for t₃₄: l7→l5 of 6 {O(1)}

relevant size-bounds w.r.t. t₃₂:
Runtime-bound of t₃₂: 2⋅X₄ {O(n)}
Results in: 12⋅X₄ {O(n)}

All Bounds

Timebounds

Overall timebound:31⋅X₅+63⋅X₄+34 {O(n)}
t₂₃: 1 {O(1)}
t₂₄: 12⋅X₄+6⋅X₅+6 {O(n)}
t₂₅: 12⋅X₄+6⋅X₅+6 {O(n)}
t₂₆: 1 {O(1)}
t₂₇: 1 {O(1)}
t₂₈: X₄ {O(n)}
t₂₉: 12⋅X₄+6⋅X₅+6 {O(n)}
t₃₀: 1 {O(1)}
t₃₁: 12⋅X₄+6⋅X₅+6 {O(n)}
t₃₂: 2⋅X₄ {O(n)}
t₃₃: X₅ {O(n)}
t₃₄: 12⋅X₄+6⋅X₅+6 {O(n)}

Costbounds

Overall costbound: 31⋅X₅+63⋅X₄+34 {O(n)}
t₂₃: 1 {O(1)}
t₂₄: 12⋅X₄+6⋅X₅+6 {O(n)}
t₂₅: 12⋅X₄+6⋅X₅+6 {O(n)}
t₂₆: 1 {O(1)}
t₂₇: 1 {O(1)}
t₂₈: X₄ {O(n)}
t₂₉: 12⋅X₄+6⋅X₅+6 {O(n)}
t₃₀: 1 {O(1)}
t₃₁: 12⋅X₄+6⋅X₅+6 {O(n)}
t₃₂: 2⋅X₄ {O(n)}
t₃₃: X₅ {O(n)}
t₃₄: 12⋅X₄+6⋅X₅+6 {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₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₂₄, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₂₄, X₂: 18⋅X₅+39⋅X₄+X₂+18 {O(n)}
t₂₄, X₃: 21⋅X₅+36⋅X₄+X₃+18 {O(n)}
t₂₄, X₄: X₄ {O(n)}
t₂₄, X₅: X₅ {O(n)}
t₂₅, X₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₂₅, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₂₅, X₂: 18⋅X₅+39⋅X₄+X₂+18 {O(n)}
t₂₅, X₃: 21⋅X₅+36⋅X₄+X₃+18 {O(n)}
t₂₅, X₄: X₄ {O(n)}
t₂₅, X₅: X₅ {O(n)}
t₂₆, X₀: 14⋅X₄+6⋅X₅+6 {O(n)}
t₂₆, X₁: 12⋅X₄+8⋅X₅+6 {O(n)}
t₂₆, X₂: 18⋅X₅+39⋅X₄+X₂+18 {O(n)}
t₂₆, X₃: 21⋅X₅+36⋅X₄+X₃+18 {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₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₂₈, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₂₈, X₂: 2⋅X₂+36⋅X₅+78⋅X₄+36 {O(n)}
t₂₈, X₃: 2⋅X₃+42⋅X₅+72⋅X₄+36 {O(n)}
t₂₈, X₄: X₄ {O(n)}
t₂₈, X₅: X₅ {O(n)}
t₂₉, X₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₂₉, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₂₉, X₂: 18⋅X₅+39⋅X₄+X₂+18 {O(n)}
t₂₉, X₃: 21⋅X₅+36⋅X₄+X₃+18 {O(n)}
t₂₉, X₄: X₄ {O(n)}
t₂₉, X₅: X₅ {O(n)}
t₃₀, X₀: 14⋅X₄+6⋅X₅+6 {O(n)}
t₃₀, X₁: 12⋅X₄+8⋅X₅+6 {O(n)}
t₃₀, X₂: 18⋅X₅+39⋅X₄+X₂+18 {O(n)}
t₃₀, X₃: 21⋅X₅+36⋅X₄+X₃+18 {O(n)}
t₃₀, X₄: 2⋅X₄ {O(n)}
t₃₀, X₅: 2⋅X₅ {O(n)}
t₃₁, X₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₁, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₁, X₂: 18⋅X₅+39⋅X₄+18 {O(n)}
t₃₁, X₃: 21⋅X₅+36⋅X₄+18 {O(n)}
t₃₁, X₄: X₄ {O(n)}
t₃₁, X₅: X₅ {O(n)}
t₃₂, X₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₂, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₂, X₂: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₂, X₃: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₂, X₄: X₄ {O(n)}
t₃₂, X₅: X₅ {O(n)}
t₃₃, X₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₃, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₃, X₂: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₃, X₃: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₃, X₄: X₄ {O(n)}
t₃₃, X₅: X₅ {O(n)}
t₃₄, X₀: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₄, X₁: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₄, X₂: 13⋅X₄+6⋅X₅+6 {O(n)}
t₃₄, X₃: 12⋅X₄+7⋅X₅+6 {O(n)}
t₃₄, X₄: X₄ {O(n)}
t₃₄, X₅: X₅ {O(n)}