Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2, l3
Transitions:
t₁: l0(X₀, X₁, X₂) → l1(X₀, X₁, 1) :|: 1 ≤ X₀
t₃: l0(X₀, X₁, X₂) → l2(X₀, X₁, 0) :|: X₀ ≤ 0
t₂: l2(X₀, X₁, X₂) → l2(X₀, X₁-1, X₂) :|: 1 ≤ X₁
t₀: l2(X₀, X₁, X₂) → l3(X₀, X₁, 1) :|: X₀ ≤ 0 ∧ X₁ ≤ 0

Preprocessing

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

Found invariant X₀ ≤ 0 for location l2

Found invariant 1 ≤ X₀ for location l1

Found invariant X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ X₀ ≤ 0 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(X₀, X₁) :|: 1 ≤ X₀
t₉: l0(X₀, X₁) → l2(X₀, X₁) :|: X₀ ≤ 0
t₁₁: l2(X₀, X₁) → l2(X₀, X₁-1) :|: 1 ≤ X₁ ∧ X₀ ≤ 0
t₁₀: l2(X₀, X₁) → l3(X₀, X₁) :|: X₀ ≤ 0 ∧ X₁ ≤ 0 ∧ X₀ ≤ 0

MPRF for transition t₁₁: l2(X₀, X₁) → l2(X₀, X₁-1) :|: 1 ≤ X₁ ∧ X₀ ≤ 0 of depth 1:

new bound:

X₁ {O(n)}

MPRF:

l2 [X₁ ]

All Bounds

Timebounds

Overall timebound:X₁+3 {O(n)}
t₈: 1 {O(1)}
t₉: 1 {O(1)}
t₁₀: 1 {O(1)}
t₁₁: X₁ {O(n)}

Costbounds

Overall costbound: X₁+3 {O(n)}
t₈: 1 {O(1)}
t₉: 1 {O(1)}
t₁₀: 1 {O(1)}
t₁₁: X₁ {O(n)}

Sizebounds

t₈, X₀: X₀ {O(n)}
t₈, X₁: X₁ {O(n)}
t₉, X₀: X₀ {O(n)}
t₉, X₁: X₁ {O(n)}
t₁₀, X₀: 2⋅X₀ {O(n)}
t₁₀, X₁: 2⋅X₁ {O(n)}
t₁₁, X₀: X₀ {O(n)}
t₁₁, X₁: X₁ {O(n)}