Initial Problem

Start: f0
Program_Vars: X₀, X₁, X₂
Temp_Vars: D, E
Locations: f0, f14, f23, f28, f38, f8
Transitions:
t₀: f0(X₀, X₁, X₂) → f8(0, X₁, X₂)
t₁₀: f14(X₀, X₁, X₂) → f8(1+X₀, X₁, X₂)
t₁₁: f14(X₀, X₁, X₂) → f8(1+X₀, X₁, X₂) :|: D ≤ 98
t₅: f23(X₀, X₁, X₂) → f23(1+X₀, X₁, X₂) :|: X₀ ≤ 99
t₃: f23(X₀, X₁, X₂) → f28(X₀, X₁, D) :|: X₀ ≤ 99 ∧ 1+E ≤ 0
t₄: f23(X₀, X₁, X₂) → f28(X₀, X₁, D) :|: X₀ ≤ 99
t₈: f23(X₀, X₁, X₂) → f38(X₀, X₁, X₂) :|: 100 ≤ X₀
t₆: f28(X₀, X₁, X₂) → f23(1+X₀, X₁, X₂)
t₇: f28(X₀, X₁, X₂) → f23(1+X₀, X₁, X₂) :|: D ≤ 98
t₁: f8(X₀, X₁, X₂) → f14(X₀, X₀, X₂) :|: D ≤ 99 ∧ X₀ ≤ 99
t₂: f8(X₀, X₁, X₂) → f14(X₀, X₀, X₂) :|: X₀ ≤ 99
t₁₂: f8(X₀, X₁, X₂) → f23(0, X₁, X₂) :|: 100 ≤ X₀
t₉: f8(X₀, X₁, X₂) → f8(1+X₀, X₀, X₂) :|: X₀ ≤ 99

Preprocessing

Eliminate variables [X₁; X₂] that do not contribute to the problem

Found invariant 100 ≤ X₀ for location f38

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

Found invariant 0 ≤ X₀ for location f23

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

Found invariant 0 ≤ X₀ for location f8

Problem after Preprocessing

Start: f0
Program_Vars: X₀
Temp_Vars: D, E
Locations: f0, f14, f23, f28, f38, f8
Transitions:
t₂₇: f0(X₀) → f8(0)
t₂₈: f14(X₀) → f8(1+X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₂₉: f14(X₀) → f8(1+X₀) :|: D ≤ 98 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₀: f23(X₀) → f23(1+X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₁: f23(X₀) → f28(X₀) :|: X₀ ≤ 99 ∧ 1+E ≤ 0 ∧ 0 ≤ X₀
t₃₂: f23(X₀) → f28(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₃: f23(X₀) → f38(X₀) :|: 100 ≤ X₀ ∧ 0 ≤ X₀
t₃₄: f28(X₀) → f23(1+X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₅: f28(X₀) → f23(1+X₀) :|: D ≤ 98 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₆: f8(X₀) → f14(X₀) :|: D ≤ 99 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₇: f8(X₀) → f14(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀
t₃₈: f8(X₀) → f23(0) :|: 100 ≤ X₀ ∧ 0 ≤ X₀
t₃₉: f8(X₀) → f8(1+X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀

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

new bound:

100 {O(1)}

MPRF:

• f14: [100-X₀]
• f8: [100-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f14: [100-X₀]
• f8: [100-X₀]

MPRF for transition t₃₆: f8(X₀) → f14(X₀) :|: D ≤ 99 ∧ X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

• f14: [99-X₀]
• f8: [100-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f14: [99-X₀]
• f8: [100-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f14: [99-X₀]
• f8: [100-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f23: [100-X₀]
• f28: [99-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f23: [100-X₀]
• f28: [99-X₀]

MPRF for transition t₃₂: f23(X₀) → f28(X₀) :|: X₀ ≤ 99 ∧ 0 ≤ X₀ of depth 1:

new bound:

100 {O(1)}

MPRF:

• f23: [100-X₀]
• f28: [99-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f23: [100-X₀]
• f28: [100-X₀]

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

new bound:

100 {O(1)}

MPRF:

• f23: [100-X₀]
• f28: [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₃₁: 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₃₈: 1 {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₃₁: 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₃₈: 1 {O(1)}
t₃₉: 100 {O(1)}

Sizebounds

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