Initial Problem

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

Preprocessing

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

Problem after Preprocessing

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

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

new bound:

X₀+X₁ {O(n)}

MPRF:

l1 [X₀-X₁ ]

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

new bound:

X₂+X₃ {O(n)}

MPRF:

l1 [X₂-X₃ ]

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

new bound:

X₂+X₃ {O(n)}

MPRF:

l1 [X₂-X₃ ]

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

new bound:

X₀+X₁ {O(n)}

MPRF:

l1 [X₀-X₁ ]

All Bounds

Timebounds

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

Costbounds

Overall costbound: 2⋅X₀+2⋅X₁+2⋅X₂+2⋅X₃+1 {O(n)}
t₂₀: 1 {O(1)}
t₂₁: X₀+X₁ {O(n)}
t₂₂: X₂+X₃ {O(n)}
t₂₃: X₂+X₃ {O(n)}
t₂₄: X₀+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₁: 3⋅X₁+X₀ {O(n)}
t₂₁, X₂: 2⋅X₂ {O(n)}
t₂₁, X₃: 3⋅X₃+X₂ {O(n)}
t₂₂, X₀: 2⋅X₀ {O(n)}
t₂₂, X₁: 3⋅X₁+X₀ {O(n)}
t₂₂, X₂: 2⋅X₂ {O(n)}
t₂₂, X₃: 3⋅X₃+X₂ {O(n)}
t₂₃, X₀: 3⋅X₀ {O(n)}
t₂₃, X₁: 4⋅X₁+X₀ {O(n)}
t₂₃, X₂: 3⋅X₂ {O(n)}
t₂₃, X₃: 2⋅X₂+5⋅X₃ {O(n)}
t₂₄, X₀: 3⋅X₀ {O(n)}
t₂₄, X₁: 2⋅X₀+5⋅X₁ {O(n)}
t₂₄, X₂: 3⋅X₂ {O(n)}
t₂₄, X₃: 4⋅X₃+X₂ {O(n)}