Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: l0, l1, l2, l3
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄) → l1(0, X₁, X₂, X₃, X₄)
t₃: l1(X₀, X₁, X₂, X₃, X₄) → l1(X₀+1, X₁, X₂, X₀, X₀) :|: X₀ ≤ 99
t₄: l1(X₀, X₁, X₂, X₃, X₄) → l2(X₀, 100, X₂, X₃, X₄) :|: 100 ≤ X₀
t₁: l2(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁+1, X₁, X₃, X₄) :|: X₁ ≤ 199
t₂: l2(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₂, X₃, X₄) :|: 200 ≤ X₁

Preprocessing

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

Found invariant X₁ ≤ 200 ∧ X₁ ≤ 100+X₀ ∧ X₀+X₁ ≤ 300 ∧ 100 ≤ X₁ ∧ 200 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 100 ∧ 100 ≤ X₀ for location l2

Found invariant X₀ ≤ 100 ∧ 0 ≤ X₀ for location l1

Found invariant X₁ ≤ 200 ∧ X₁ ≤ 100+X₀ ∧ X₀+X₁ ≤ 300 ∧ 200 ≤ X₁ ∧ 300 ≤ X₀+X₁ ∧ 100+X₀ ≤ X₁ ∧ X₀ ≤ 100 ∧ 100 ≤ X₀ for location l3

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁
Temp_Vars:
Locations: l0, l1, l2, l3
Transitions:
t₁₂: l0(X₀, X₁) → l1(0, X₁)
t₁₃: l1(X₀, X₁) → l1(X₀+1, X₁) :|: X₀ ≤ 99 ∧ X₀ ≤ 100 ∧ 0 ≤ X₀
t₁₄: l1(X₀, X₁) → l2(X₀, 100) :|: 100 ≤ X₀ ∧ X₀ ≤ 100 ∧ 0 ≤ X₀
t₁₅: l2(X₀, X₁) → l2(X₀, X₁+1) :|: X₁ ≤ 199 ∧ X₁ ≤ 200 ∧ X₁ ≤ 100+X₀ ∧ X₀+X₁ ≤ 300 ∧ 100 ≤ X₁ ∧ 200 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 100 ∧ 100 ≤ X₀
t₁₆: l2(X₀, X₁) → l3(X₀, X₁) :|: 200 ≤ X₁ ∧ X₁ ≤ 200 ∧ X₁ ≤ 100+X₀ ∧ X₀+X₁ ≤ 300 ∧ 100 ≤ X₁ ∧ 200 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 100 ∧ 100 ≤ X₀

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

new bound:

100 {O(1)}

MPRF:

l1 [100-X₀ ]

MPRF for transition t₁₅: l2(X₀, X₁) → l2(X₀, X₁+1) :|: X₁ ≤ 199 ∧ X₁ ≤ 200 ∧ X₁ ≤ 100+X₀ ∧ X₀+X₁ ≤ 300 ∧ 100 ≤ X₁ ∧ 200 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 100 ∧ 100 ≤ X₀ of depth 1:

new bound:

301 {O(1)}

MPRF:

l2 [201-X₁ ]

All Bounds

Timebounds

Overall timebound:404 {O(1)}
t₁₂: 1 {O(1)}
t₁₃: 100 {O(1)}
t₁₄: 1 {O(1)}
t₁₅: 301 {O(1)}
t₁₆: 1 {O(1)}

Costbounds

Overall costbound: 404 {O(1)}
t₁₂: 1 {O(1)}
t₁₃: 100 {O(1)}
t₁₄: 1 {O(1)}
t₁₅: 301 {O(1)}
t₁₆: 1 {O(1)}

Sizebounds

t₁₂, X₀: 0 {O(1)}
t₁₂, X₁: X₁ {O(n)}
t₁₃, X₀: 100 {O(1)}
t₁₃, X₁: X₁ {O(n)}
t₁₄, X₀: 100 {O(1)}
t₁₄, X₁: 100 {O(1)}
t₁₅, X₀: 100 {O(1)}
t₁₅, X₁: 200 {O(1)}
t₁₆, X₀: 100 {O(1)}
t₁₆, X₁: 200 {O(1)}