Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆
Temp_Vars:
Locations: l0, l1, l2, l3, l4, l5, l6
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆)
t₂: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l3(X₀, X₁, X₀, X₃, X₄, X₅, X₆) :|: 0 < X₁ ∧ 0 < X₀
t₃: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l4(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₁ ≤ 0
t₄: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l4(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₀ ≤ 0
t₁: l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l1(X₄, X₆, X₂, X₃, X₄, X₅, X₆)
t₆: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l1(X₁, X₂, X₂, X₃, X₄, X₅, X₆) :|: X₂ < X₁
t₇: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l1(X₁, X₂, X₂, X₃, X₄, X₅, X₆) :|: X₁ ≤ 0
t₅: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₁ ≤ X₂ ∧ 0 < X₁
t₉: l4(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l6(X₀, X₁, X₂, X₃, X₄, X₅, X₆)
t₈: l5(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l3(X₀, X₁, X₂-X₁, X₃, X₄, X₅, X₆)

Preprocessing

Eliminate variables {X₃,X₅} that do not contribute to the problem

Found invariant X₁ ≤ X₆ for location l6

Found invariant 1 ≤ X₆ ∧ 2 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l5

Found invariant X₁ ≤ X₆ for location l1

Found invariant X₁ ≤ X₆ for location l4

Found invariant 1 ≤ X₆ ∧ 1 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l3

Cut unsatisfiable transition t₂₈: l3→l1

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁, X₂, X₄, X₆
Temp_Vars:
Locations: l0, l1, l2, l3, l4, l5, l6
Transitions:
t₂₁: l0(X₀, X₁, X₂, X₄, X₆) → l2(X₀, X₁, X₂, X₄, X₆)
t₂₂: l1(X₀, X₁, X₂, X₄, X₆) → l3(X₀, X₁, X₀, X₄, X₆) :|: 0 < X₁ ∧ 0 < X₀ ∧ X₁ ≤ X₆
t₂₃: l1(X₀, X₁, X₂, X₄, X₆) → l4(X₀, X₁, X₂, X₄, X₆) :|: X₁ ≤ 0 ∧ X₁ ≤ X₆
t₂₄: l1(X₀, X₁, X₂, X₄, X₆) → l4(X₀, X₁, X₂, X₄, X₆) :|: X₀ ≤ 0 ∧ X₁ ≤ X₆
t₂₅: l2(X₀, X₁, X₂, X₄, X₆) → l1(X₄, X₆, X₂, X₄, X₆)
t₂₇: l3(X₀, X₁, X₂, X₄, X₆) → l1(X₁, X₂, X₂, X₄, X₆) :|: X₂ < X₁ ∧ 1 ≤ X₆ ∧ 1 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₂₆: l3(X₀, X₁, X₂, X₄, X₆) → l5(X₀, X₁, X₂, X₄, X₆) :|: X₁ ≤ X₂ ∧ 0 < X₁ ∧ 1 ≤ X₆ ∧ 1 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₂₉: l4(X₀, X₁, X₂, X₄, X₆) → l6(X₀, X₁, X₂, X₄, X₆) :|: X₁ ≤ X₆
t₃₀: l5(X₀, X₁, X₂, X₄, X₆) → l3(X₀, X₁, X₂-X₁, X₄, X₆) :|: 1 ≤ X₆ ∧ 2 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀

MPRF for transition t₂₂: l1(X₀, X₁, X₂, X₄, X₆) → l3(X₀, X₁, X₀, X₄, X₆) :|: 0 < X₁ ∧ 0 < X₀ ∧ X₁ ≤ X₆ of depth 1:

new bound:

X₆ {O(n)}

MPRF:

l1 [X₁ ]
l5 [X₁-1 ]
l3 [X₁-1 ]

MPRF for transition t₂₆: l3(X₀, X₁, X₂, X₄, X₆) → l5(X₀, X₁, X₂, X₄, X₆) :|: X₁ ≤ X₂ ∧ 0 < X₁ ∧ 1 ≤ X₆ ∧ 1 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₄+X₆+1 {O(n)}

MPRF:

l1 [X₀+X₁-1 ]
l5 [X₁+X₂-2 ]
l3 [X₁+X₂-1 ]

MPRF for transition t₂₇: l3(X₀, X₁, X₂, X₄, X₆) → l1(X₁, X₂, X₂, X₄, X₆) :|: X₂ < X₁ ∧ 1 ≤ X₆ ∧ 1 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ of depth 1:

new bound:

X₆ {O(n)}

MPRF:

l1 [X₁ ]
l5 [X₁ ]
l3 [X₁ ]

MPRF for transition t₃₀: l5(X₀, X₁, X₂, X₄, X₆) → l3(X₀, X₁, X₂-X₁, X₄, X₆) :|: 1 ≤ X₆ ∧ 2 ≤ X₂+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 2 ≤ X₀+X₆ ∧ X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 2 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ of depth 1:

new bound:

2⋅X₆+X₄+2 {O(n)}

MPRF:

l1 [X₀+X₁+X₆-2 ]
l5 [X₂+X₆-1 ]
l3 [X₁+X₂+X₆-2 ]

All Bounds

Timebounds

Overall timebound:2⋅X₄+5⋅X₆+8 {O(n)}
t₂₁: 1 {O(1)}
t₂₂: X₆ {O(n)}
t₂₃: 1 {O(1)}
t₂₄: 1 {O(1)}
t₂₅: 1 {O(1)}
t₂₆: X₄+X₆+1 {O(n)}
t₂₇: X₆ {O(n)}
t₂₉: 1 {O(1)}
t₃₀: 2⋅X₆+X₄+2 {O(n)}

Costbounds

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