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