Initial Problem

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₀-2, X₁-1, X₂+1, G, X₄, X₅) :|: 1 ≤ X₀ ∧ 1 ≤ G
t₁: l1(X₀, X₁, X₂, X₃, X₄, X₅) → l1(X₀-2, 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₅)

Preprocessing

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 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ 1+X₀ for location l2

Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀ for location l1

Problem after Preprocessing

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₀-2, X₁-1) :|: 1 ≤ X₀ ∧ 1 ≤ G ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀
t₁₄: l1(X₀, X₁) → l1(X₀-2, X₁) :|: G ≤ 0 ∧ 1 ≤ X₀ ∧ X₁+1 ≤ X₀ ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀
t₁₅: l1(X₀, X₁) → l2(X₀, X₁) :|: X₀ ≤ 0 ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀
t₁₆: l2(X₀, X₁) → l2(X₀, X₁) :|: 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ 1+X₀

MPRF for transition t₁₃: l1(X₀, X₁) → l1(X₀-2, X₁-1) :|: 1 ≤ X₀ ∧ 1 ≤ G ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀ of depth 1:

new bound:

4 {O(1)}

MPRF for transition t₁₄: l1(X₀, X₁) → l1(X₀-2, X₁) :|: G ≤ 0 ∧ 1 ≤ X₀ ∧ X₁+1 ≤ X₀ ∧ 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀ of depth 1:

new bound:

4 {O(1)}

Analysing control-flow refined program

Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ 1+X₀ for location l2

Found invariant 0 ≤ 3+X₁ ∧ 0 ≤ 4+X₀+X₁ ∧ X₀ ≤ 3+X₁ ∧ X₀ ≤ 4 ∧ 0 ≤ 1+X₀ for location l1

CFR did not improve the program. Rolling back

CFR did not improve the program. Rolling back

All Bounds

Timebounds

Overall timebound:inf {Infinity}
t₁₂: 1 {O(1)}
t₁₃: 4 {O(1)}
t₁₄: 4 {O(1)}
t₁₅: 1 {O(1)}
t₁₆: inf {Infinity}

Costbounds

Overall costbound: inf {Infinity}
t₁₂: 1 {O(1)}
t₁₃: 4 {O(1)}
t₁₄: 4 {O(1)}
t₁₅: 1 {O(1)}
t₁₆: inf {Infinity}

Sizebounds

t₁₂, X₀: 4 {O(1)}
t₁₃, X₀: 2 {O(1)}
t₁₄, X₀: 2 {O(1)}
t₁₄, X₁: 3 {O(1)}
t₁₅, X₀: 1 {O(1)}
t₁₆, X₀: 1 {O(1)}