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₀ ≤ 99
t₁: l1(X₀, X₁, X₂) → l2(X₀, X₀, X₂) :|: X₀ ≤ 99 ∧ D ≤ 99
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₀, X₂) :|: X₀ ≤ 99
t₁₂: l1(X₀, X₁, X₂) → l3(0, X₁, X₂) :|: 100 ≤ X₀
t₁₀: l2(X₀, X₁, X₂) → l1(X₀+1, X₁, X₂)
t₁₁: l2(X₀, X₁, X₂) → l1(X₀+1, X₁, X₂) :|: D ≤ 98
t₅: l3(X₀, X₁, X₂) → l3(X₀+1, X₁, X₂) :|: X₀ ≤ 99
t₃: l3(X₀, X₁, X₂) → l4(X₀, X₁, D) :|: X₀ ≤ 99 ∧ E+1 ≤ 0
t₄: l3(X₀, X₁, X₂) → l4(X₀, X₁, D) :|: X₀ ≤ 99
t₈: l3(X₀, X₁, X₂) → l5(X₀, X₁, X₂) :|: 100 ≤ X₀
t₆: l4(X₀, X₁, X₂) → l3(X₀+1, X₁, X₂)
t₇: l4(X₀, X₁, X₂) → l3(X₀+1, X₁, X₂) :|: D ≤ 98

Preprocessing

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

Found invariant X₀ ≤ 99 ∧ 0 ≤ X₀ for location l2

Found invariant 100 ≤ X₀ for location l5

Found invariant 0 ≤ X₀ for location l1

Found invariant X₀ ≤ 99 ∧ 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₀ ≤ 99 ∧ 0 ≤ X₀
t₂₇: l1(X₀) → l2(X₀) :|: X₀ ≤ 99 ∧ D ≤ 99 ∧ 0 ≤ X₀
t₂₈: l1(X₀) → l2(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₀: l1(X₀) → l3(0) :|: 100 ≤ X₀ ∧ 0 ≤ X₀
t₃₁: l2(X₀) → l1(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₂: l2(X₀) → l1(X₀+1) :|: D ≤ 98 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₅: l3(X₀) → l3(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₃: l3(X₀) → l4(X₀) :|: X₀ ≤ 99 ∧ E+1 ≤ 0 ∧ 0 ≤ X₀
t₃₄: l3(X₀) → l4(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₆: l3(X₀) → l5(X₀) :|: 100 ≤ X₀ ∧ 0 ≤ X₀
t₃₇: l4(X₀) → l3(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₈: l4(X₀) → l3(X₀+1) :|: D ≤ 98 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀

MPRF for transition t₂₇: l1(X₀) → l2(X₀) :|: X₀ ≤ 99 ∧ D ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l2 [99-X₀ ]
l1 [100-X₀ ]

MPRF for transition t₂₈: l1(X₀) → l2(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l2 [99-X₀ ]
l1 [100-X₀ ]

MPRF for transition t₂₉: l1(X₀) → l1(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l2 [99-X₀ ]
l1 [100-X₀ ]

MPRF for transition t₃₁: l2(X₀) → l1(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l2 [100-X₀ ]
l1 [100-X₀ ]

MPRF for transition t₃₂: l2(X₀) → l1(X₀+1) :|: D ≤ 98 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l2 [100-X₀ ]
l1 [100-X₀ ]

MPRF for transition t₃₃: l3(X₀) → l4(X₀) :|: X₀ ≤ 99 ∧ E+1 ≤ 0 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l4 [99-X₀ ]
l3 [100-X₀ ]

MPRF for transition t₃₄: l3(X₀) → l4(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l4 [99-X₀ ]
l3 [100-X₀ ]

MPRF for transition t₃₅: l3(X₀) → l3(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l4 [99-X₀ ]
l3 [100-X₀ ]

MPRF for transition t₃₇: l4(X₀) → l3(X₀+1) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l4 [100-X₀ ]
l3 [100-X₀ ]

MPRF for transition t₃₈: l4(X₀) → l3(X₀+1) :|: D ≤ 98 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

l4 [100-X₀ ]
l3 [100-X₀ ]

All Bounds

Timebounds

Overall timebound:1003 {O(1)}
t₂₆: 1 {O(1)}
t₂₇: 100 {O(1)}
t₂₈: 100 {O(1)}
t₂₉: 100 {O(1)}
t₃₀: 1 {O(1)}
t₃₁: 100 {O(1)}
t₃₂: 100 {O(1)}
t₃₃: 100 {O(1)}
t₃₄: 100 {O(1)}
t₃₅: 100 {O(1)}
t₃₆: 1 {O(1)}
t₃₇: 100 {O(1)}
t₃₈: 100 {O(1)}

Costbounds

Overall costbound: 1003 {O(1)}
t₂₆: 1 {O(1)}
t₂₇: 100 {O(1)}
t₂₈: 100 {O(1)}
t₂₉: 100 {O(1)}
t₃₀: 1 {O(1)}
t₃₁: 100 {O(1)}
t₃₂: 100 {O(1)}
t₃₃: 100 {O(1)}
t₃₄: 100 {O(1)}
t₃₅: 100 {O(1)}
t₃₆: 1 {O(1)}
t₃₇: 100 {O(1)}
t₃₈: 100 {O(1)}

Sizebounds

t₂₆, X₀: 0 {O(1)}
t₂₇, X₀: 99 {O(1)}
t₂₈, X₀: 99 {O(1)}
t₂₉, X₀: 100 {O(1)}
t₃₀, X₀: 0 {O(1)}
t₃₁, X₀: 100 {O(1)}
t₃₂, X₀: 100 {O(1)}
t₃₃, X₀: 99 {O(1)}
t₃₄, X₀: 99 {O(1)}
t₃₅, X₀: 100 {O(1)}
t₃₆, X₀: 300 {O(1)}
t₃₇, X₀: 100 {O(1)}
t₃₈, X₀: 100 {O(1)}