Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄
Temp_Vars: P, Q
Locations: l0, l1, l2, l3, l4, l5
Transitions:
t₇: l0(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l1(1, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, P, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) :|: P ≤ 0
t₈: l0(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l1(1, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, 0, 1, P, P, P, P) :|: 1 ≤ P ∧ 1 ≤ Q
t₉: l0(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l2(1, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, 0, 1, P, P, P, P) :|: P ≤ 0 ∧ 1 ≤ Q
t₀: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) :|: X₀ ≤ 0
t₆: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l3(0, P, X₂, X₃, X₄, X₅, 0, P, P, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) :|: 1 ≤ X₀
t₁: l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄)
t₃: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) :|: 1 ≤ X₀
t₄: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l2(X₀, X₁, 0, P, P, P, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) :|: X₀ ≤ 0 ∧ P ≤ 999+X₁
t₅: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l2(1, X₁, 0, P, P, P, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) :|: X₀ ≤ 0 ∧ X₁+1000 ≤ P
t₂: l5(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄) → l4(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄)

Preprocessing

Cut unreachable locations [l4; l5] from the program graph

Cut unsatisfiable transition t₀: l1→l3

Cut unsatisfiable transition t₃: l3→l2

Eliminate variables {X₂,X₃,X₄,X₅,X₆,X₇,X₈,X₉,X₁₀,X₁₁,X₁₂,X₁₃,X₁₄} that do not contribute to the problem

Found invariant X₀ ≤ 1 ∧ 0 ≤ X₀ for location l2

Found invariant X₀ ≤ 1 ∧ 1 ≤ X₀ for location l1

Found invariant X₀ ≤ 0 ∧ 0 ≤ X₀ for location l3

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁
Temp_Vars: P, Q
Locations: l0, l1, l2, l3
Transitions:
t₁₉: l0(X₀, X₁) → l1(1, X₁) :|: P ≤ 0
t₂₀: l0(X₀, X₁) → l1(1, X₁) :|: 1 ≤ P ∧ 1 ≤ Q
t₂₁: l0(X₀, X₁) → l2(1, X₁) :|: P ≤ 0 ∧ 1 ≤ Q
t₂₂: l1(X₀, X₁) → l3(0, P) :|: 1 ≤ X₀ ∧ X₀ ≤ 1 ∧ 1 ≤ X₀
t₂₃: l2(X₀, X₁) → l2(X₀, X₁) :|: X₀ ≤ 1 ∧ 0 ≤ X₀
t₂₄: l3(X₀, X₁) → l2(X₀, X₁) :|: X₀ ≤ 0 ∧ P ≤ 999+X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀
t₂₅: l3(X₀, X₁) → l2(1, X₁) :|: X₀ ≤ 0 ∧ X₁+1000 ≤ P ∧ X₀ ≤ 0 ∧ 0 ≤ X₀

Analysing control-flow refined program

Found invariant X₀ ≤ 1 ∧ 0 ≤ X₀ for location l2

Found invariant X₀ ≤ 1 ∧ 1 ≤ X₀ for location l1

Found invariant X₀ ≤ 0 ∧ 0 ≤ X₀ for location l3

CFR did not improve the program. Rolling back

All Bounds

Timebounds

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

Costbounds

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

Sizebounds

t₁₉, X₀: 1 {O(1)}
t₁₉, X₁: X₁ {O(n)}
t₂₀, X₀: 1 {O(1)}
t₂₀, X₁: X₁ {O(n)}
t₂₁, X₀: 1 {O(1)}
t₂₁, X₁: X₁ {O(n)}
t₂₂, X₀: 0 {O(1)}
t₂₃, X₀: 1 {O(1)}
t₂₄, X₀: 0 {O(1)}
t₂₅, X₀: 1 {O(1)}