Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₁: l1(X₀, X₁, X₂) → l1(1+X₀, X₁, X₂) :|: 1+X₀ ≤ X₁
t₂: l1(X₀, X₁, X₂) → l1(1+X₀, X₀, X₂) :|: D ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₃: l1(X₀, X₁, X₂) → l2(X₀, X₁, D) :|: X₁ ≤ X₀ ∧ X₁+1 ≤ X₀
t₄: l1(X₀, X₁, X₂) → l2(X₀, X₁, D) :|: X₁ ≤ X₀ ∧ X₀+1 ≤ X₁

Preprocessing

Cut unsatisfiable transition t₄: l1→l2

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

Found invariant 1+X₁ ≤ X₀ for location l2

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁
Temp_Vars: D
Locations: l0, l1, l2
Transitions:
t₁₅: l0(X₀, X₁) → l1(X₀, X₁)
t₁₆: l1(X₀, X₁) → l1(1+X₀, X₁) :|: 1+X₀ ≤ X₁
t₁₇: l1(X₀, X₁) → l1(1+X₀, X₀) :|: D ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₁₈: l1(X₀, X₁) → l2(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₁+1 ≤ X₀

MPRF for transition t₁₆: l1(X₀, X₁) → l1(1+X₀, X₁) :|: 1+X₀ ≤ X₁ of depth 1:

new bound:

X₀+X₁ {O(n)}

MPRF:

l1 [X₁-X₀ ]

MPRF for transition t₁₇: l1(X₀, X₁) → l1(1+X₀, X₀) :|: D ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀ of depth 1:

new bound:

X₀+X₁+1 {O(n)}

MPRF:

l1 [X₁+1-X₀ ]

All Bounds

Timebounds

Overall timebound:2⋅X₀+2⋅X₁+3 {O(n)}
t₁₅: 1 {O(1)}
t₁₆: X₀+X₁ {O(n)}
t₁₇: X₀+X₁+1 {O(n)}
t₁₈: 1 {O(1)}

Costbounds

Overall costbound: 2⋅X₀+2⋅X₁+3 {O(n)}
t₁₅: 1 {O(1)}
t₁₆: X₀+X₁ {O(n)}
t₁₇: X₀+X₁+1 {O(n)}
t₁₈: 1 {O(1)}

Sizebounds

t₁₅, X₀: X₀ {O(n)}
t₁₅, X₁: X₁ {O(n)}
t₁₆, X₀: 2⋅X₀+X₁ {O(n)}
t₁₆, X₁: X₁ {O(n)}
t₁₇, X₀: 3⋅X₀+X₁+2 {O(n)}
t₁₇, X₁: 3⋅X₀+X₁ {O(n)}
t₁₈, X₀: 4⋅X₀+X₁+2 {O(n)}
t₁₈, X₁: 2⋅X₁+3⋅X₀ {O(n)}