Initial Problem

Start: f2
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: f1, f2, f300
Transitions:
t₁: f1(X₀, X₁, X₂) → f1(1+X₀, X₁, X₂) :|: 1+X₀ ≤ X₁
t₂: f1(X₀, X₁, X₂) → f1(1+X₀, X₀, X₂) :|: D ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁
t₃: f1(X₀, X₁, X₂) → f300(X₀, X₁, D) :|: 1+X₁ ≤ X₀ ∧ X₁ ≤ X₀
t₄: f1(X₀, X₁, X₂) → f300(X₀, X₁, D) :|: 1+X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₀: f2(X₀, X₁, X₂) → f1(X₀, X₁, X₂)

Preprocessing

Cut unsatisfiable transition [t₄: f1→f300]

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

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

Problem after Preprocessing

Start: f2
Program_Vars: X₀, X₁
Temp_Vars: D
Locations: f1, f2, f300
Transitions:
t₁₁: f1(X₀, X₁) → f1(1+X₀, X₁) :|: 1+X₀ ≤ X₁
t₁₂: f1(X₀, X₁) → f1(1+X₀, X₀) :|: D ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁
t₁₃: f1(X₀, X₁) → f300(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ X₁ ≤ X₀
t₁₄: f2(X₀, X₁) → f1(X₀, X₁)

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

new bound:

X₀+X₁ {O(n)}

MPRF:

• f1: [X₁-X₀]

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

new bound:

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

MPRF:

• f1: [1+X₁-X₀]

All Bounds

Timebounds

Overall timebound:2⋅X₀+2⋅X₁+3 {O(n)}
t₁₁: X₀+X₁ {O(n)}
t₁₂: X₀+X₁+1 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 1 {O(1)}

Costbounds

Overall costbound: 2⋅X₀+2⋅X₁+3 {O(n)}
t₁₁: X₀+X₁ {O(n)}
t₁₂: X₀+X₁+1 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 1 {O(1)}

Sizebounds

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)}
t₁₄, X₀: X₀ {O(n)}
t₁₄, X₁: X₁ {O(n)}