Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars: E
Locations: l0, l1, l2, l3, l4
Transitions:
t₀: l0(X₀, X₁, X₂, X₃) → l1(0, X₁, X₂, X₃)
t₁: l1(X₀, X₁, X₂, X₃) → l2(X₀+1, X₁, 0, X₃) :|: X₀+1 ≤ X₁
t₈: l1(X₀, X₁, X₂, X₃) → l4(X₀, X₁, X₂, X₃) :|: X₁ ≤ X₀
t₄: l2(X₀, X₁, X₂, X₃) → l2(X₀+1, X₁, X₂+1, E) :|: X₀+1 ≤ X₁ ∧ E+1 ≤ 0
t₅: l2(X₀, X₁, X₂, X₃) → l2(X₀+1, X₁, X₂+1, E) :|: X₀+1 ≤ X₁ ∧ 1 ≤ E
t₂: l2(X₀, X₁, X₂, X₃) → l3(X₀, X₁, X₂, 0) :|: X₀+1 ≤ X₁
t₃: l2(X₀, X₁, X₂, X₃) → l3(X₀, X₁, X₂, X₃) :|: X₁ ≤ X₀
t₆: l3(X₀, X₁, X₂, X₃) → l1(X₀, X₁, X₂, X₃) :|: X₂ ≤ 0
t₇: l3(X₀, X₁, X₂, X₃) → l1(X₀-1, X₁, X₂, X₃) :|: 1 ≤ X₂
Preprocessing
Eliminate variables {X₃} that do not contribute to the problem
Found invariant 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ for location l2
Found invariant 0 ≤ X₀ for location l1
Found invariant X₁ ≤ X₀ ∧ 0 ≤ X₀ for location l4
Found invariant 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ for location l3
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars: E
Locations: l0, l1, l2, l3, l4
Transitions:
t₁₈: l0(X₀, X₁, X₂) → l1(0, X₁, X₂)
t₁₉: l1(X₀, X₁, X₂) → l2(X₀+1, X₁, 0) :|: X₀+1 ≤ X₁ ∧ 0 ≤ X₀
t₂₀: l1(X₀, X₁, X₂) → l4(X₀, X₁, X₂) :|: X₁ ≤ X₀ ∧ 0 ≤ X₀
t₂₁: l2(X₀, X₁, X₂) → l2(X₀+1, X₁, X₂+1) :|: X₀+1 ≤ X₁ ∧ E+1 ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀
t₂₂: l2(X₀, X₁, X₂) → l2(X₀+1, X₁, X₂+1) :|: X₀+1 ≤ X₁ ∧ 1 ≤ E ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀
t₂₃: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: X₀+1 ≤ X₁ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀
t₂₄: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: X₁ ≤ X₀ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀
t₂₅: l3(X₀, X₁, X₂) → l1(X₀, X₁, X₂) :|: X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀
t₂₆: l3(X₀, X₁, X₂) → l1(X₀-1, X₁, X₂) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀
MPRF for transition t₁₉: l1(X₀, X₁, X₂) → l2(X₀+1, X₁, 0) :|: X₀+1 ≤ X₁ ∧ 0 ≤ X₀ of depth 1:
new bound:
X₁ {O(n)}
MPRF for transition t₂₁: l2(X₀, X₁, X₂) → l2(X₀+1, X₁, X₂+1) :|: X₀+1 ≤ X₁ ∧ E+1 ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
2⋅X₁+1 {O(n)}
MPRF for transition t₂₂: l2(X₀, X₁, X₂) → l2(X₀+1, X₁, X₂+1) :|: X₀+1 ≤ X₁ ∧ 1 ≤ E ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
2⋅X₁+1 {O(n)}
MPRF for transition t₂₃: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: X₀+1 ≤ X₁ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
2⋅X₁+1 {O(n)}
MPRF for transition t₂₄: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: X₁ ≤ X₀ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
X₁ {O(n)}
MPRF for transition t₂₅: l3(X₀, X₁, X₂) → l1(X₀, X₁, X₂) :|: X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
X₁ {O(n)}
MPRF for transition t₂₆: l3(X₀, X₁, X₂) → l1(X₀-1, X₁, X₂) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
X₁ {O(n)}
All Bounds
Timebounds
Overall timebound:10⋅X₁+5 {O(n)}
t₁₈: 1 {O(1)}
t₁₉: X₁ {O(n)}
t₂₀: 1 {O(1)}
t₂₁: 2⋅X₁+1 {O(n)}
t₂₂: 2⋅X₁+1 {O(n)}
t₂₃: 2⋅X₁+1 {O(n)}
t₂₄: X₁ {O(n)}
t₂₅: X₁ {O(n)}
t₂₆: X₁ {O(n)}
Costbounds
Overall costbound: 10⋅X₁+5 {O(n)}
t₁₈: 1 {O(1)}
t₁₉: X₁ {O(n)}
t₂₀: 1 {O(1)}
t₂₁: 2⋅X₁+1 {O(n)}
t₂₂: 2⋅X₁+1 {O(n)}
t₂₃: 2⋅X₁+1 {O(n)}
t₂₄: X₁ {O(n)}
t₂₅: X₁ {O(n)}
t₂₆: X₁ {O(n)}
Sizebounds
t₁₈, X₀: 0 {O(1)}
t₁₈, X₁: X₁ {O(n)}
t₁₈, X₂: X₂ {O(n)}
t₁₉, X₀: 5⋅X₁+2 {O(n)}
t₁₉, X₁: X₁ {O(n)}
t₁₉, X₂: 0 {O(1)}
t₂₀, X₀: 5⋅X₁+2 {O(n)}
t₂₀, X₁: 2⋅X₁ {O(n)}
t₂₀, X₂: X₂ {O(n)}
t₂₁, X₀: 5⋅X₁+2 {O(n)}
t₂₁, X₁: X₁ {O(n)}
t₂₁, X₂: 4⋅X₁+2 {O(n)}
t₂₂, X₀: 5⋅X₁+2 {O(n)}
t₂₂, X₁: X₁ {O(n)}
t₂₂, X₂: 4⋅X₁+2 {O(n)}
t₂₃, X₀: 5⋅X₁+2 {O(n)}
t₂₃, X₁: X₁ {O(n)}
t₂₃, X₂: 8⋅X₁+4 {O(n)}
t₂₄, X₀: 5⋅X₁+2 {O(n)}
t₂₄, X₁: X₁ {O(n)}
t₂₄, X₂: 8⋅X₁+4 {O(n)}
t₂₅, X₀: 5⋅X₁+2 {O(n)}
t₂₅, X₁: X₁ {O(n)}
t₂₅, X₂: 0 {O(1)}
t₂₆, X₀: 5⋅X₁+2 {O(n)}
t₂₆, X₁: X₁ {O(n)}
t₂₆, X₂: 16⋅X₁+8 {O(n)}