Initial Problem

Start: f0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉
Temp_Vars: U, V, W, X, Y
Locations: f0, f11, f35, f47, f49, f52
Transitions:
t₁₀: f0(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f11(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, 0, 0)
t₉: f11(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f11(1+X₀, X₁, X₂, 1, X₄, U, V, W, X, X₂, U, U, U, X₁₄, X₁₄, 1, 1, 0, X₁₈, X₁₉) :|: 1+X₀ ≤ X₁ ∧ U ≤ 0
t₇: f11(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f35(X₀, X₁, X₂, Y, X₄, U, V, W, X, X₂, U, U, U, X₁₄, 0, Y, Y, 0, X₁₈, X₁₉) :|: 1+X₀ ≤ X₁ ∧ 2 ≤ Y ∧ U ≤ 0
t₈: f11(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f35(X₀, X₁, X₂, Y, X₄, U, V, W, X, X₂, U, U, U, X₁₄, 0, Y, Y, 0, X₁₈, X₁₉) :|: 1+X₀ ≤ X₁ ∧ U ≤ 0 ∧ Y ≤ 0
t₂: f11(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f47(X₀, X₁, 0, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) :|: X₁ ≤ X₀
t₆: f11(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f47(X₀, X₁, 0, X₃, X₄, U, V, W, X, X₂, U, U, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) :|: 1 ≤ U ∧ 1+X₀ ≤ X₁
t₃: f35(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f47(X₀, X₁, 0, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) :|: 3 ≤ X₃
t₄: f35(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f47(X₀, X₁, 0, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) :|: X₃ ≤ 1
t₅: f35(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f47(X₀, X₁, 0, 2, X₅, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) :|: X₃ ≤ 2 ∧ 2 ≤ X₃
t₀: f47(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f47(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉)
t₁: f49(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉) → f52(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉)

Preprocessing

Cut unreachable locations [f49; f52] from the program graph

Eliminate variables [V; W; X; X₂; X₄; X₅; X₆; X₇; X₈; X₉; X₁₀; X₁₁; X₁₂; X₁₃; X₁₄; X₁₅; X₁₆; X₁₇; X₁₈; X₁₉] that do not contribute to the problem

Found invariant 1+X₀ ≤ X₁ for location f35

Problem after Preprocessing

Start: f0
Program_Vars: X₀, X₁, X₂
Temp_Vars: U, Y
Locations: f0, f11, f35, f47
Transitions:
t₂₄: f0(X₀, X₁, X₂) → f11(X₀, X₁, X₂)
t₂₅: f11(X₀, X₁, X₂) → f11(1+X₀, X₁, 1) :|: 1+X₀ ≤ X₁ ∧ U ≤ 0
t₂₆: f11(X₀, X₁, X₂) → f35(X₀, X₁, Y) :|: 1+X₀ ≤ X₁ ∧ 2 ≤ Y ∧ U ≤ 0
t₂₇: f11(X₀, X₁, X₂) → f35(X₀, X₁, Y) :|: 1+X₀ ≤ X₁ ∧ U ≤ 0 ∧ Y ≤ 0
t₂₈: f11(X₀, X₁, X₂) → f47(X₀, X₁, X₂) :|: X₁ ≤ X₀
t₂₉: f11(X₀, X₁, X₂) → f47(X₀, X₁, X₂) :|: 1 ≤ U ∧ 1+X₀ ≤ X₁
t₃₀: f35(X₀, X₁, X₂) → f47(X₀, X₁, X₂) :|: 3 ≤ X₂ ∧ 1+X₀ ≤ X₁
t₃₁: f35(X₀, X₁, X₂) → f47(X₀, X₁, X₂) :|: X₂ ≤ 1 ∧ 1+X₀ ≤ X₁
t₃₂: f35(X₀, X₁, X₂) → f47(X₀, X₁, 2) :|: X₂ ≤ 2 ∧ 2 ≤ X₂ ∧ 1+X₀ ≤ X₁
t₃₃: f47(X₀, X₁, X₂) → f47(X₀, X₁, X₂)

MPRF for transition t₂₅: f11(X₀, X₁, X₂) → f11(1+X₀, X₁, 1) :|: 1+X₀ ≤ X₁ ∧ U ≤ 0 of depth 1:

new bound:

X₀+X₁ {O(n)}

MPRF:

• f11: [X₁-X₀]

Found invariant 1+X₀ ≤ X₁ for location f35

All Bounds

Timebounds

Overall timebound:inf {Infinity}
t₂₄: 1 {O(1)}
t₂₅: X₀+X₁ {O(n)}
t₂₆: 1 {O(1)}
t₂₇: 1 {O(1)}
t₂₈: 1 {O(1)}
t₂₉: 1 {O(1)}
t₃₀: 1 {O(1)}
t₃₁: 1 {O(1)}
t₃₂: 1 {O(1)}
t₃₃: inf {Infinity}

Costbounds

Overall costbound: inf {Infinity}
t₂₄: 1 {O(1)}
t₂₅: X₀+X₁ {O(n)}
t₂₆: 1 {O(1)}
t₂₇: 1 {O(1)}
t₂₈: 1 {O(1)}
t₂₉: 1 {O(1)}
t₃₀: 1 {O(1)}
t₃₁: 1 {O(1)}
t₃₂: 1 {O(1)}
t₃₃: inf {Infinity}

Sizebounds

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₂: 1 {O(1)}
t₂₆, X₀: 3⋅X₀+X₁ {O(n)}
t₂₆, X₁: 2⋅X₁ {O(n)}
t₂₇, X₀: 3⋅X₀+X₁ {O(n)}
t₂₇, X₁: 2⋅X₁ {O(n)}
t₂₈, X₀: 3⋅X₀+X₁ {O(n)}
t₂₈, X₁: 2⋅X₁ {O(n)}
t₂₈, X₂: X₂+1 {O(n)}
t₂₉, X₀: 3⋅X₀+X₁ {O(n)}
t₂₉, X₁: 2⋅X₁ {O(n)}
t₂₉, X₂: X₂+1 {O(n)}
t₃₀, X₀: 3⋅X₀+X₁ {O(n)}
t₃₀, X₁: 2⋅X₁ {O(n)}
t₃₁, X₀: 3⋅X₀+X₁ {O(n)}
t₃₁, X₁: 2⋅X₁ {O(n)}
t₃₂, X₀: 3⋅X₀+X₁ {O(n)}
t₃₂, X₁: 2⋅X₁ {O(n)}
t₃₂, X₂: 2 {O(1)}
t₃₃, X₀: 15⋅X₀+5⋅X₁ {O(n)}
t₃₃, X₁: 10⋅X₁ {O(n)}