Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆
Temp_Vars:
Locations: l0, l1, l2, l3, l4, l5, l6, l7, l8
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₀+X₁
t₃: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l4(X₀, 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₆) → l6(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₁ < X₀
t₅: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₀ ≤ X₁
t₁₇: l4(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l8(X₀, X₁, X₂, X₃, X₄, X₅, X₆)
t₁₆: l5(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l1(X₂, X₃, X₂, X₃, X₄, X₅, X₆)
t₆: l6(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁, X₄, X₅, X₆)
t₇: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁, X₄, X₅, X₆) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₈: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀, X₁, X₄, X₅, X₆) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₀ < X₁
t₉: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀, X₁, X₄, X₅, X₆) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₁ < X₀
t₁₀: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁-1, X₄, X₅, X₆) :|: X₀ < X₁ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₁₁: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁-1, X₄, X₅, X₆) :|: X₁ < X₀ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀
t₁₂: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀, X₁-1, X₄, X₅, X₆) :|: X₀ < X₁ ∧ X₀ < X₁
t₁₃: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀, X₁-1, X₄, X₅, X₆) :|: X₀ < X₁ ∧ X₁ < X₀
t₁₄: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀, X₁-1, X₄, X₅, X₆) :|: X₁ < X₀ ∧ X₀ < X₁
t₁₅: l7(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l5(X₀, X₁, X₀, X₁-1, X₄, X₅, X₆) :|: X₁ < X₀ ∧ X₁ < X₀
Preprocessing
Cut unsatisfiable transition t₈: l7→l5
Cut unsatisfiable transition t₉: l7→l5
Cut unsatisfiable transition t₁₀: l7→l5
Cut unsatisfiable transition t₁₁: l7→l5
Cut unsatisfiable transition t₁₃: l7→l5
Cut unsatisfiable transition t₁₄: l7→l5
Cut unsatisfiable transition t₁₅: l7→l5
Eliminate variables {X₄} that do not contribute to the problem
Found invariant 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₅ ∧ 1 ≤ X₁+X₅ ∧ 1+X₁ ≤ X₅ ∧ 2 ≤ X₀+X₅ ∧ X₀ ≤ X₅ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location l6
Found invariant 1 ≤ X₆ ∧ 1 ≤ X₅+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ X₀ ≤ X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁ for location l7
Found invariant 1 ≤ X₅+X₆ ∧ X₃ ≤ X₆ ∧ 0 ≤ X₂+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 0 ≤ X₃+X₅ ∧ X₂ ≤ X₅ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ X₃ ≤ X₁ ∧ 0 ≤ X₂+X₃ ∧ X₁ ≤ 1+X₃ ∧ 0 ≤ X₀+X₃ ∧ X₂ ≤ X₀ ∧ 0 ≤ X₁+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₀+X₁ for location l5
Found invariant X₁ ≤ X₆ ∧ X₀ ≤ X₅ ∧ X₀+X₁ ≤ 0 for location l8
Found invariant X₁ ≤ X₆ ∧ X₀ ≤ X₅ for location l1
Found invariant X₁ ≤ X₆ ∧ X₀ ≤ X₅ ∧ X₀+X₁ ≤ 0 for location l4
Found invariant 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₀+X₁ for location l3
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₅, X₆
Temp_Vars:
Locations: l0, l1, l2, l3, l4, l5, l6, l7, l8
Transitions:
t₃₆: l0(X₀, X₁, X₂, X₃, X₅, X₆) → l2(X₀, X₁, X₂, X₃, X₅, X₆)
t₃₇: l1(X₀, X₁, X₂, X₃, X₅, X₆) → l3(X₀, X₁, X₂, X₃, X₅, X₆) :|: 0 < X₀+X₁ ∧ X₁ ≤ X₆ ∧ X₀ ≤ X₅
t₃₈: l1(X₀, X₁, X₂, X₃, X₅, X₆) → l4(X₀, X₁, X₂, X₃, X₅, X₆) :|: X₀+X₁ ≤ 0 ∧ X₁ ≤ X₆ ∧ X₀ ≤ X₅
t₃₉: l2(X₀, X₁, X₂, X₃, X₅, X₆) → l1(X₅, X₆, X₂, X₃, X₅, X₆)
t₄₀: l3(X₀, X₁, X₂, X₃, X₅, X₆) → l6(X₀, X₁, X₂, X₃, X₅, X₆) :|: X₁ < X₀ ∧ 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₀+X₁
t₄₁: l3(X₀, X₁, X₂, X₃, X₅, X₆) → l7(X₀, X₁, X₂, X₃, X₅, X₆) :|: X₀ ≤ X₁ ∧ 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₀+X₁
t₄₂: l4(X₀, X₁, X₂, X₃, X₅, X₆) → l8(X₀, X₁, X₂, X₃, X₅, X₆) :|: X₁ ≤ X₆ ∧ X₀ ≤ X₅ ∧ X₀+X₁ ≤ 0
t₄₃: l5(X₀, X₁, X₂, X₃, X₅, X₆) → l1(X₂, X₃, X₂, X₃, X₅, X₆) :|: 1 ≤ X₅+X₆ ∧ X₃ ≤ X₆ ∧ 0 ≤ X₂+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 0 ≤ X₃+X₅ ∧ X₂ ≤ X₅ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ X₃ ≤ X₁ ∧ 0 ≤ X₂+X₃ ∧ X₁ ≤ 1+X₃ ∧ 0 ≤ X₀+X₃ ∧ X₂ ≤ X₀ ∧ 0 ≤ X₁+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₀+X₁
t₄₄: l6(X₀, X₁, X₂, X₃, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁, X₅, X₆) :|: 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₅ ∧ 1 ≤ X₁+X₅ ∧ 1+X₁ ≤ X₅ ∧ 2 ≤ X₀+X₅ ∧ X₀ ≤ X₅ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₀
t₄₅: l7(X₀, X₁, X₂, X₃, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁, X₅, X₆) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₆ ∧ 1 ≤ X₅+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ X₀ ≤ X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁
t₄₆: l7(X₀, X₁, X₂, X₃, X₅, X₆) → l5(X₀, X₁, X₀, X₁-1, X₅, X₆) :|: X₀ < X₁ ∧ X₀ < X₁ ∧ 1 ≤ X₆ ∧ 1 ≤ X₅+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ X₀ ≤ X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁
MPRF for transition t₃₇: l1(X₀, X₁, X₂, X₃, X₅, X₆) → l3(X₀, X₁, X₂, X₃, X₅, X₆) :|: 0 < X₀+X₁ ∧ X₁ ≤ X₆ ∧ X₀ ≤ X₅ of depth 1:
new bound:
X₅+X₆ {O(n)}
MPRF:
l3 [X₀+X₁-1 ]
l1 [X₀+X₁ ]
l6 [X₀+X₁-1 ]
l7 [X₀+X₁-1 ]
l5 [X₂+X₃ ]
MPRF for transition t₄₀: l3(X₀, X₁, X₂, X₃, X₅, X₆) → l6(X₀, X₁, X₂, X₃, X₅, X₆) :|: X₁ < X₀ ∧ 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₀+X₁ of depth 1:
new bound:
2⋅X₅+1 {O(n)}
MPRF:
l3 [2⋅X₀-1 ]
l1 [2⋅X₀-1 ]
l6 [2⋅X₀-2 ]
l7 [2⋅X₀-1 ]
l5 [2⋅X₂+X₃-X₁ ]
MPRF for transition t₄₁: l3(X₀, X₁, X₂, X₃, X₅, X₆) → l7(X₀, X₁, X₂, X₃, X₅, X₆) :|: X₀ ≤ X₁ ∧ 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₀+X₁ of depth 1:
new bound:
X₅+X₆+1 {O(n)}
MPRF:
l3 [X₀+X₁+1 ]
l1 [X₀+X₁+1 ]
l6 [X₀+X₁+1 ]
l7 [X₀+X₁ ]
l5 [X₂+X₃+1 ]
MPRF for transition t₄₃: l5(X₀, X₁, X₂, X₃, X₅, X₆) → l1(X₂, X₃, X₂, X₃, X₅, X₆) :|: 1 ≤ X₅+X₆ ∧ X₃ ≤ X₆ ∧ 0 ≤ X₂+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 0 ≤ X₃+X₅ ∧ X₂ ≤ X₅ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ X₃ ≤ X₁ ∧ 0 ≤ X₂+X₃ ∧ X₁ ≤ 1+X₃ ∧ 0 ≤ X₀+X₃ ∧ X₂ ≤ X₀ ∧ 0 ≤ X₁+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₀+X₁ of depth 1:
new bound:
X₅+X₆ {O(n)}
MPRF:
l3 [X₀+X₁ ]
l1 [X₀+X₁ ]
l6 [X₀+X₁ ]
l7 [X₀+X₁ ]
l5 [X₂+X₃+1 ]
MPRF for transition t₄₄: l6(X₀, X₁, X₂, X₃, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁, X₅, X₆) :|: 1 ≤ X₅+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ 1 ≤ X₅ ∧ 1 ≤ X₁+X₅ ∧ 1+X₁ ≤ X₅ ∧ 2 ≤ X₀+X₅ ∧ X₀ ≤ X₅ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₀ of depth 1:
new bound:
X₅+1 {O(n)}
MPRF:
l3 [X₀+1 ]
l1 [X₀+1 ]
l6 [X₀+1 ]
l7 [X₀+1 ]
l5 [X₂+1 ]
MPRF for transition t₄₅: l7(X₀, X₁, X₂, X₃, X₅, X₆) → l5(X₀, X₁, X₀-1, X₁, X₅, X₆) :|: X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ X₁ ≤ X₀ ∧ 1 ≤ X₆ ∧ 1 ≤ X₅+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ X₀ ≤ X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁ of depth 1:
new bound:
X₅ {O(n)}
MPRF:
l3 [X₀ ]
l1 [X₀ ]
l6 [X₀ ]
l7 [X₀ ]
l5 [X₂ ]
MPRF for transition t₄₆: l7(X₀, X₁, X₂, X₃, X₅, X₆) → l5(X₀, X₁, X₀, X₁-1, X₅, X₆) :|: X₀ < X₁ ∧ X₀ < X₁ ∧ 1 ≤ X₆ ∧ 1 ≤ X₅+X₆ ∧ 2 ≤ X₁+X₆ ∧ X₁ ≤ X₆ ∧ 1 ≤ X₀+X₆ ∧ X₀ ≤ X₆ ∧ 1 ≤ X₁+X₅ ∧ X₀ ≤ X₅ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁ of depth 1:
new bound:
X₆ {O(n)}
MPRF:
l3 [X₁ ]
l1 [X₁ ]
l6 [X₁ ]
l7 [X₁ ]
l5 [X₃ ]
All Bounds
Timebounds
Overall timebound:4⋅X₆+7⋅X₅+7 {O(n)}
t₃₆: 1 {O(1)}
t₃₇: X₅+X₆ {O(n)}
t₃₈: 1 {O(1)}
t₃₉: 1 {O(1)}
t₄₀: 2⋅X₅+1 {O(n)}
t₄₁: X₅+X₆+1 {O(n)}
t₄₂: 1 {O(1)}
t₄₃: X₅+X₆ {O(n)}
t₄₄: X₅+1 {O(n)}
t₄₅: X₅ {O(n)}
t₄₆: X₆ {O(n)}
Costbounds
Overall costbound: 4⋅X₆+7⋅X₅+7 {O(n)}
t₃₆: 1 {O(1)}
t₃₇: X₅+X₆ {O(n)}
t₃₈: 1 {O(1)}
t₃₉: 1 {O(1)}
t₄₀: 2⋅X₅+1 {O(n)}
t₄₁: X₅+X₆+1 {O(n)}
t₄₂: 1 {O(1)}
t₄₃: X₅+X₆ {O(n)}
t₄₄: X₅+1 {O(n)}
t₄₅: X₅ {O(n)}
t₄₆: 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₅: X₅ {O(n)}
t₃₆, X₆: X₆ {O(n)}
t₃₇, X₀: 2⋅X₅+X₆ {O(n)}
t₃₇, X₁: 2⋅X₆+X₅ {O(n)}
t₃₇, X₂: 3⋅X₆+6⋅X₅+X₂ {O(n)}
t₃₇, X₃: 3⋅X₅+6⋅X₆+X₃ {O(n)}
t₃₇, X₅: X₅ {O(n)}
t₃₇, X₆: X₆ {O(n)}
t₃₈, X₀: 3⋅X₅+X₆ {O(n)}
t₃₈, X₁: 3⋅X₆+X₅ {O(n)}
t₃₈, X₂: 3⋅X₆+6⋅X₅+X₂ {O(n)}
t₃₈, X₃: 3⋅X₅+6⋅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₀: 2⋅X₅+X₆ {O(n)}
t₄₀, X₁: 2⋅X₆+X₅ {O(n)}
t₄₀, X₂: 3⋅X₆+6⋅X₅+X₂ {O(n)}
t₄₀, X₃: 3⋅X₅+6⋅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₆+X₅ {O(n)}
t₄₁, X₂: 3⋅X₆+6⋅X₅+X₂ {O(n)}
t₄₁, X₃: 3⋅X₅+6⋅X₆+X₃ {O(n)}
t₄₁, X₅: X₅ {O(n)}
t₄₁, X₆: X₆ {O(n)}
t₄₂, X₀: 3⋅X₅+X₆ {O(n)}
t₄₂, X₁: 3⋅X₆+X₅ {O(n)}
t₄₂, X₂: 3⋅X₆+6⋅X₅+X₂ {O(n)}
t₄₂, X₃: 3⋅X₅+6⋅X₆+X₃ {O(n)}
t₄₂, X₅: 2⋅X₅ {O(n)}
t₄₂, X₆: 2⋅X₆ {O(n)}
t₄₃, X₀: 2⋅X₅+X₆ {O(n)}
t₄₃, X₁: 2⋅X₆+X₅ {O(n)}
t₄₃, X₂: 3⋅X₆+6⋅X₅ {O(n)}
t₄₃, X₃: 3⋅X₅+6⋅X₆ {O(n)}
t₄₃, X₅: X₅ {O(n)}
t₄₃, X₆: X₆ {O(n)}
t₄₄, X₀: 2⋅X₅+X₆ {O(n)}
t₄₄, X₁: 2⋅X₆+X₅ {O(n)}
t₄₄, X₂: 2⋅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₆+X₅ {O(n)}
t₄₅, X₂: 2⋅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₆+X₅ {O(n)}
t₄₆, X₂: 2⋅X₅+X₆ {O(n)}
t₄₆, X₃: 2⋅X₆+X₅ {O(n)}
t₄₆, X₅: X₅ {O(n)}
t₄₆, X₆: X₆ {O(n)}