Initial Problem

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

Preprocessing

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

Found invariant 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₀ for location l2

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

Found invariant 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₀ for location l4

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

Problem after Preprocessing

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

MPRF for transition t₂₄: l1(X₀, X₁, X₂) → l4(X₀+1, X₁, X₂) :|: X₁ < 0 ∧ 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₂+2 {O(n)}

MPRF for transition t₂₅: l1(X₀, X₁, X₂) → l4(X₀+1, X₁, X₂) :|: 0 < X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₂+2 {O(n)}

MPRF for transition t₂₆: l1(X₀, X₁, X₂) → l4(X₀+1, X₁, X₂) :|: X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₂+2 {O(n)}

MPRF for transition t₂₇: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₂+2 {O(n)}

MPRF for transition t₂₈: l3(X₀, X₁, X₂) → l1(X₀, nondef.0, X₂) :|: 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₀ of depth 1:

new bound:

2⋅X₂+1 {O(n)}

MPRF for transition t₂₉: l4(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₀ ≤ X₂ ∧ 1 ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₂+3 {O(n)}

All Bounds

Timebounds

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

Costbounds

Overall costbound: 7⋅X₂+17 {O(n)}
t₂₃: 1 {O(1)}
t₂₄: X₂+2 {O(n)}
t₂₅: X₂+2 {O(n)}
t₂₆: X₂+2 {O(n)}
t₂₇: X₂+2 {O(n)}
t₂₈: 2⋅X₂+1 {O(n)}
t₂₉: X₂+3 {O(n)}
t₃₀: 1 {O(1)}
t₃₁: 1 {O(1)}
t₃₂: 1 {O(1)}
t₃₃: 1 {O(1)}

Sizebounds

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