Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅
Temp_Vars: G
Locations: l0, l1, l2, l3, l4
Transitions:
t₅: l0(X₀, X₁, X₂, X₃, X₄, X₅) → l1(4, G, 0, X₃, G, 4) :|: 1 ≤ G
t₀: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l1(X₀-1, X₁-1, X₂+1, G, X₄, X₅) :|: 1 ≤ X₀ ∧ 1 ≤ G
t₁: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l1(X₀-1, X₁, X₂, G, X₄, X₅) :|: G ≤ 0 ∧ 1 ≤ X₀ ∧ X₁+1 ≤ X₀
t₄: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l2(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₀ ≤ 0
t₂: l2(X₀, X₁, X₂, X₃, X₄, X₅) → l2(X₀, X₁, X₂, X₃, X₄, X₅)
t₃: l4(X₀, X₁, X₂, X₃, X₄, X₅) → l3(X₀, X₁, X₂, X₃, X₄, X₅)
Cut unreachable locations [l3; l4] from the program graph
Eliminate variables {X₂,X₃,X₄,X₅} that do not contribute to the problem
Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀ for location l2
Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ X₀ for location l1
Start: l0
Program_Vars: X₀, X₁
Temp_Vars: G
Locations: l0, l1, l2
Transitions:
t₁₃: l0(X₀, X₁) → l1(4, G) :|: 1 ≤ G
t₁₄: l1(X₀, X₁) → l1(X₀-1, X₁-1) :|: 1 ≤ X₀ ∧ 1 ≤ G ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ X₀
t₁₅: l1(X₀, X₁) → l1(X₀-1, X₁) :|: G ≤ 0 ∧ 1 ≤ X₀ ∧ X₁+1 ≤ X₀ ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ X₀
t₁₆: l1(X₀, X₁) → l2(X₀, X₁) :|: X₀ ≤ 0 ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ X₀
t₁₇: l2(X₀, X₁) → l2(X₀, X₁) :|: 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀
new bound:
5 {O(1)}
MPRF:
l1 [X₀+1 ]
new bound:
5 {O(1)}
MPRF:
l1 [X₀+1 ]
Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀ for location l2
Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 3+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ X₀ for location l1
Overall timebound:inf {Infinity}
t₁₃: 1 {O(1)}
t₁₄: 5 {O(1)}
t₁₅: 5 {O(1)}
t₁₆: 1 {O(1)}
t₁₇: inf {Infinity}
Overall costbound: inf {Infinity}
t₁₃: 1 {O(1)}
t₁₄: 5 {O(1)}
t₁₅: 5 {O(1)}
t₁₆: 1 {O(1)}
t₁₇: inf {Infinity}
t₁₃, X₀: 4 {O(1)}
t₁₄, X₀: 3 {O(1)}
t₁₅, X₀: 3 {O(1)}
t₁₅, X₁: 3 {O(1)}
t₁₆, X₀: 0 {O(1)}
t₁₇, X₀: 0 {O(1)}