Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars: F, G
Locations: l0, l1, l2, l3, l4
Transitions:
t₄: l0(X₀, X₁, X₂, X₃, X₄) → l1(F, 0, F, G, X₄) :|: F ≤ 100 ∧ 1 ≤ F
t₂: l0(X₀, X₁, X₂, X₃, X₄) → l2(F, X₁, F, X₃, X₄) :|: F ≤ 0
t₃: l0(X₀, X₁, X₂, X₃, X₄) → l2(F, X₁, F, X₃, X₄) :|: 101 ≤ F
t₀: l1(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₂, X₃, X₄) :|: X₁+1 ≤ X₀
t₁: l1(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₂, X₃, X₄) :|: 1+X₀ ≤ X₁
t₈: l1(X₀, X₁, X₂, X₃, X₄) → l4(X₀, X₀-1, X₂, X₃, 0) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₅: l3(X₀, X₁, X₂, X₃, X₄) → l1(X₀, X₁+1, X₂, X₃, X₄)
t₉: l3(X₀, X₁, X₂, X₃, X₄) → l4(X₀, X₁-1, X₂, X₃, 0)
t₇: l4(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₄
t₆: l4(X₀, X₁, X₂, X₃, X₄) → l4(X₀, X₁, X₂, X₃, X₄+1) :|: X₄+1 ≤ X₁
Preprocessing
Eliminate variables {G,X₂,X₃} that do not contribute to the problem
Found invariant X₁ ≤ 100 ∧ X₁ ≤ X₀ ∧ X₀+X₁ ≤ 200 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀ for location l1
Found invariant X₄ ≤ 99 ∧ X₄ ≤ 1+X₁ ∧ X₁+X₄ ≤ 198 ∧ 1+X₄ ≤ X₀ ∧ X₀+X₄ ≤ 199 ∧ 0 ≤ X₄ ∧ 0 ≤ 1+X₁+X₄ ∧ X₁ ≤ 99+X₄ ∧ 1 ≤ X₀+X₄ ∧ X₀ ≤ 100+X₄ ∧ X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ 1+X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 101+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀ for location l4
Found invariant X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀ for location l3
Cut unsatisfiable transition t₂₃: l1→l3
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₄
Temp_Vars: F
Locations: l0, l1, l2, l3, l4
Transitions:
t₂₁: l0(X₀, X₁, X₄) → l1(F, 0, X₄) :|: F ≤ 100 ∧ 1 ≤ F
t₁₉: l0(X₀, X₁, X₄) → l2(F, X₁, X₄) :|: F ≤ 0
t₂₀: l0(X₀, X₁, X₄) → l2(F, X₁, X₄) :|: 101 ≤ F
t₂₂: l1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₁+1 ≤ X₀ ∧ X₁ ≤ 100 ∧ X₁ ≤ X₀ ∧ X₀+X₁ ≤ 200 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀
t₂₄: l1(X₀, X₁, X₄) → l4(X₀, X₀-1, 0) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₁ ≤ 100 ∧ X₁ ≤ X₀ ∧ X₀+X₁ ≤ 200 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀
t₂₅: l3(X₀, X₁, X₄) → l1(X₀, X₁+1, X₄) :|: X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀
t₂₆: l3(X₀, X₁, X₄) → l4(X₀, X₁-1, 0) :|: X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀
t₂₈: l4(X₀, X₁, X₄) → l2(X₀, X₁, X₄) :|: X₁ ≤ X₄ ∧ X₄ ≤ 99 ∧ X₄ ≤ 1+X₁ ∧ X₁+X₄ ≤ 198 ∧ 1+X₄ ≤ X₀ ∧ X₀+X₄ ≤ 199 ∧ 0 ≤ X₄ ∧ 0 ≤ 1+X₁+X₄ ∧ X₁ ≤ 99+X₄ ∧ 1 ≤ X₀+X₄ ∧ X₀ ≤ 100+X₄ ∧ X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ 1+X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 101+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀
t₂₇: l4(X₀, X₁, X₄) → l4(X₀, X₁, X₄+1) :|: X₄+1 ≤ X₁ ∧ X₄ ≤ 99 ∧ X₄ ≤ 1+X₁ ∧ X₁+X₄ ≤ 198 ∧ 1+X₄ ≤ X₀ ∧ X₀+X₄ ≤ 199 ∧ 0 ≤ X₄ ∧ 0 ≤ 1+X₁+X₄ ∧ X₁ ≤ 99+X₄ ∧ 1 ≤ X₀+X₄ ∧ X₀ ≤ 100+X₄ ∧ X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ 1+X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 101+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀
MPRF for transition t₂₂: l1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₁+1 ≤ X₀ ∧ X₁ ≤ 100 ∧ X₁ ≤ X₀ ∧ X₀+X₁ ≤ 200 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀ of depth 1:
new bound:
101 {O(1)}
MPRF:
l3 [100-X₁ ]
l1 [101-X₁ ]
MPRF for transition t₂₅: l3(X₀, X₁, X₄) → l1(X₀, X₁+1, X₄) :|: X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ 100+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀ of depth 1:
new bound:
100 {O(1)}
MPRF:
l3 [100-X₁ ]
l1 [100-X₁ ]
MPRF for transition t₂₇: l4(X₀, X₁, X₄) → l4(X₀, X₁, X₄+1) :|: X₄+1 ≤ X₁ ∧ X₄ ≤ 99 ∧ X₄ ≤ 1+X₁ ∧ X₁+X₄ ≤ 198 ∧ 1+X₄ ≤ X₀ ∧ X₀+X₄ ≤ 199 ∧ 0 ≤ X₄ ∧ 0 ≤ 1+X₁+X₄ ∧ X₁ ≤ 99+X₄ ∧ 1 ≤ X₀+X₄ ∧ X₀ ≤ 100+X₄ ∧ X₁ ≤ 99 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 199 ∧ 0 ≤ 1+X₁ ∧ 0 ≤ X₀+X₁ ∧ X₀ ≤ 101+X₁ ∧ X₀ ≤ 100 ∧ 1 ≤ X₀ of depth 1:
new bound:
200 {O(1)}
MPRF:
l4 [100-X₄ ]
All Bounds
Timebounds
Overall timebound:407 {O(1)}
t₁₉: 1 {O(1)}
t₂₀: 1 {O(1)}
t₂₁: 1 {O(1)}
t₂₂: 101 {O(1)}
t₂₄: 1 {O(1)}
t₂₅: 100 {O(1)}
t₂₆: 1 {O(1)}
t₂₇: 200 {O(1)}
t₂₈: 1 {O(1)}
Costbounds
Overall costbound: 407 {O(1)}
t₁₉: 1 {O(1)}
t₂₀: 1 {O(1)}
t₂₁: 1 {O(1)}
t₂₂: 101 {O(1)}
t₂₄: 1 {O(1)}
t₂₅: 100 {O(1)}
t₂₆: 1 {O(1)}
t₂₇: 200 {O(1)}
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₀: 100 {O(1)}
t₂₁, X₁: 0 {O(1)}
t₂₁, X₄: X₄ {O(n)}
t₂₂, X₀: 100 {O(1)}
t₂₂, X₁: 99 {O(1)}
t₂₂, X₄: X₄ {O(n)}
t₂₄, X₀: 100 {O(1)}
t₂₄, X₁: 99 {O(1)}
t₂₄, X₄: 0 {O(1)}
t₂₅, X₀: 100 {O(1)}
t₂₅, X₁: 100 {O(1)}
t₂₅, X₄: X₄ {O(n)}
t₂₆, X₀: 100 {O(1)}
t₂₆, X₁: 98 {O(1)}
t₂₆, X₄: 0 {O(1)}
t₂₇, X₀: 100 {O(1)}
t₂₇, X₁: 99 {O(1)}
t₂₇, X₄: 99 {O(1)}
t₂₈, X₀: 100 {O(1)}
t₂₈, X₁: 99 {O(1)}
t₂₈, X₄: 99 {O(1)}