Initial Problem

Start: f0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: f0, f1, f2, f3, f4
Transitions:
t₀: f0(X₀, X₁, X₂, X₃, X₄) → f1(X₀, X₁, X₂, X₃, X₄)
t₁: f1(X₀, X₁, X₂, X₃, X₄) → f1(X₀, 1+X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀
t₂: f1(X₀, X₁, X₂, X₃, X₄) → f2(X₀, X₁, X₁, X₃, X₄) :|: X₀ ≤ X₁
t₃: f2(X₀, X₁, X₂, X₃, X₄) → f2(X₀, X₁, X₂-1, X₃, X₄) :|: 1 ≤ X₂
t₄: f2(X₀, X₁, X₂, X₃, X₄) → f3(X₀, X₁, X₂, X₂, X₄) :|: X₂ ≤ 0
t₅: f3(X₀, X₁, X₂, X₃, X₄) → f3(X₀, X₁, X₂, 1+X₃, X₄) :|: 1+X₃ ≤ X₀
t₆: f3(X₀, X₁, X₂, X₃, X₄) → f4(X₀, X₁, X₂, X₃, X₃) :|: X₀ ≤ X₃
t₇: f4(X₀, X₁, X₂, X₃, X₄) → f4(X₀, X₁, X₂, X₃, X₄-1) :|: 1 ≤ X₄

Preprocessing

Found invariant X₃ ≤ X₁ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁ for location f3

Found invariant X₂ ≤ X₁ ∧ X₀ ≤ X₁ for location f2

Found invariant X₄ ≤ X₃ ∧ X₄ ≤ X₁ ∧ X₂ ≤ X₄ ∧ X₃ ≤ X₁ ∧ X₂ ≤ X₃ ∧ X₀ ≤ X₃ ∧ X₂ ≤ 0 ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁ for location f4

Problem after Preprocessing

Start: f0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: f0, f1, f2, f3, f4
Transitions:
t₀: f0(X₀, X₁, X₂, X₃, X₄) → f1(X₀, X₁, X₂, X₃, X₄)
t₁: f1(X₀, X₁, X₂, X₃, X₄) → f1(X₀, 1+X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀
t₂: f1(X₀, X₁, X₂, X₃, X₄) → f2(X₀, X₁, X₁, X₃, X₄) :|: X₀ ≤ X₁
t₃: f2(X₀, X₁, X₂, X₃, X₄) → f2(X₀, X₁, X₂-1, X₃, X₄) :|: 1 ≤ X₂ ∧ X₀ ≤ X₁ ∧ X₂ ≤ X₁
t₄: f2(X₀, X₁, X₂, X₃, X₄) → f3(X₀, X₁, X₂, X₂, X₄) :|: X₂ ≤ 0 ∧ X₀ ≤ X₁ ∧ X₂ ≤ X₁
t₅: f3(X₀, X₁, X₂, X₃, X₄) → f3(X₀, X₁, X₂, 1+X₃, X₄) :|: 1+X₃ ≤ X₀ ∧ X₀ ≤ X₁ ∧ X₂ ≤ X₁ ∧ X₃ ≤ X₁ ∧ X₂ ≤ 0 ∧ X₂ ≤ X₃
t₆: f3(X₀, X₁, X₂, X₃, X₄) → f4(X₀, X₁, X₂, X₃, X₃) :|: X₀ ≤ X₃ ∧ X₀ ≤ X₁ ∧ X₂ ≤ X₁ ∧ X₃ ≤ X₁ ∧ X₂ ≤ 0 ∧ X₂ ≤ X₃
t₇: f4(X₀, X₁, X₂, X₃, X₄) → f4(X₀, X₁, X₂, X₃, X₄-1) :|: 1 ≤ X₄ ∧ X₀ ≤ X₁ ∧ X₀ ≤ X₃ ∧ X₂ ≤ X₁ ∧ X₃ ≤ X₁ ∧ X₄ ≤ X₁ ∧ X₂ ≤ 0 ∧ X₂ ≤ X₃ ∧ X₂ ≤ X₄ ∧ X₄ ≤ X₃

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

new bound:

X₀+X₁ {O(n)}

MPRF:

• f1: [X₀-X₁]

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

new bound:

3⋅X₁+X₀ {O(n)}

MPRF:

• f2: [X₂]

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

new bound:

12⋅X₁+4⋅X₀+1 {O(n)}

MPRF:

• f3: [1+X₁-X₃]

MPRF for transition t₇: f4(X₀, X₁, X₂, X₃, X₄) → f4(X₀, X₁, X₂, X₃, X₄-1) :|: 1 ≤ X₄ ∧ X₀ ≤ X₁ ∧ X₀ ≤ X₃ ∧ X₂ ≤ X₁ ∧ X₃ ≤ X₁ ∧ X₄ ≤ X₁ ∧ X₂ ≤ 0 ∧ X₂ ≤ X₃ ∧ X₂ ≤ X₄ ∧ X₄ ≤ X₃ of depth 1:

new bound:

12⋅X₀+36⋅X₁+2 {O(n)}

MPRF:

• f4: [1+X₄-X₂]

All Bounds

Timebounds

Overall timebound:18⋅X₀+52⋅X₁+7 {O(n)}
t₀: 1 {O(1)}
t₁: X₀+X₁ {O(n)}
t₂: 1 {O(1)}
t₃: 3⋅X₁+X₀ {O(n)}
t₄: 1 {O(1)}
t₅: 12⋅X₁+4⋅X₀+1 {O(n)}
t₆: 1 {O(1)}
t₇: 12⋅X₀+36⋅X₁+2 {O(n)}

Costbounds

Overall costbound: 18⋅X₀+52⋅X₁+7 {O(n)}
t₀: 1 {O(1)}
t₁: X₀+X₁ {O(n)}
t₂: 1 {O(1)}
t₃: 3⋅X₁+X₀ {O(n)}
t₄: 1 {O(1)}
t₅: 12⋅X₁+4⋅X₀+1 {O(n)}
t₆: 1 {O(1)}
t₇: 12⋅X₀+36⋅X₁+2 {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₄: X₄ {O(n)}
t₁, X₀: X₀ {O(n)}
t₁, X₁: 2⋅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₂: 3⋅X₁+X₀ {O(n)}
t₂, X₃: 2⋅X₃ {O(n)}
t₂, X₄: 2⋅X₄ {O(n)}
t₃, X₀: 2⋅X₀ {O(n)}
t₃, X₁: 3⋅X₁+X₀ {O(n)}
t₃, X₂: 3⋅X₁+X₀ {O(n)}
t₃, X₃: 2⋅X₃ {O(n)}
t₃, X₄: 2⋅X₄ {O(n)}
t₄, X₀: 4⋅X₀ {O(n)}
t₄, X₁: 2⋅X₀+6⋅X₁ {O(n)}
t₄, X₂: 2⋅X₀+6⋅X₁ {O(n)}
t₄, X₃: 2⋅X₀+6⋅X₁ {O(n)}
t₄, X₄: 4⋅X₄ {O(n)}
t₅, X₀: 4⋅X₀ {O(n)}
t₅, X₁: 2⋅X₀+6⋅X₁ {O(n)}
t₅, X₂: 2⋅X₀+6⋅X₁ {O(n)}
t₅, X₃: 18⋅X₁+6⋅X₀+1 {O(n)}
t₅, X₄: 4⋅X₄ {O(n)}
t₆, X₀: 8⋅X₀ {O(n)}
t₆, X₁: 12⋅X₁+4⋅X₀ {O(n)}
t₆, X₂: 12⋅X₁+4⋅X₀ {O(n)}
t₆, X₃: 24⋅X₁+8⋅X₀+1 {O(n)}
t₆, X₄: 24⋅X₁+8⋅X₀+1 {O(n)}
t₇, X₀: 8⋅X₀ {O(n)}
t₇, X₁: 12⋅X₁+4⋅X₀ {O(n)}
t₇, X₂: 12⋅X₁+4⋅X₀ {O(n)}
t₇, X₃: 24⋅X₁+8⋅X₀+1 {O(n)}
t₇, X₄: 24⋅X₁+8⋅X₀+1 {O(n)}