Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁
Temp_Vars: A1, W, X, Y, Z
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₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l1(X₀, X₁, 0, X₃, X₄, 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₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l1(X₀+1, X₁, X₂, X₃, 1, X₅, W, X, Y, Z, X₃, W, W, W, W, X₁₆, X₁₆, 1, 1, 1, 0, X₂₁) :|: W ≤ 0 ∧ X₀+1 ≤ X₁
t₇: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l2(X₀, X₁, X₂, X₃, A1, X₅, W, X, Y, Z, X₃, W, W, W, W, X₁₆, 0, A1, A1, A1, 0, X₂₁) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ 2 ≤ A1
t₈: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l2(X₀, X₁, X₂, X₃, A1, X₅, W, X, Y, Z, X₃, W, W, W, W, X₁₆, 0, A1, A1, A1, 0, X₂₁) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ A1 ≤ 0
t₂: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l3(X₀, X₁, 0, 0, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) :|: X₁ ≤ X₀
t₆: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l3(X₀, X₁, 0, 0, X₄, X₅, W, X, Y, Z, X₃, W, W, W, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) :|: 1 ≤ W ∧ X₀+1 ≤ X₁
t₃: l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l3(X₀, X₁, 0, 0, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) :|: 3 ≤ X₄
t₄: l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l3(X₀, X₁, 0, 0, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) :|: X₄ ≤ 1
t₅: l2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) → l3(X₀, X₁, 0, 0, 2, X₆, X₆, X₇, X₈, X₉, X₁₀, X₁₁, X₁₂, X₁₃, X₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁) :|: X₄ ≤ 2 ∧ 2 ≤ X₄
t₀: l3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, 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₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁)
t₁: l5(X₀, X₁, X₂, X₃, X₄, X₅, X₆, 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₁₄, X₁₅, X₁₆, X₁₇, X₁₈, X₁₉, X₂₀, X₂₁)
Cut unreachable locations [l4; l5] from the program graph
Eliminate variables {X,Y,Z,X₂,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 l2
Start: l0
Program_Vars: X₀, X₁, X₄
Temp_Vars: A1, W
Locations: l0, l1, l2, l3
Transitions:
t₂₅: l0(X₀, X₁, X₄) → l1(X₀, X₁, X₄)
t₃₀: l1(X₀, X₁, X₄) → l1(X₀+1, X₁, 1) :|: W ≤ 0 ∧ X₀+1 ≤ X₁
t₂₈: l1(X₀, X₁, X₄) → l2(X₀, X₁, A1) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ 2 ≤ A1
t₂₉: l1(X₀, X₁, X₄) → l2(X₀, X₁, A1) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ A1 ≤ 0
t₂₆: l1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₁ ≤ X₀
t₂₇: l1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: 1 ≤ W ∧ X₀+1 ≤ X₁
t₃₁: l2(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: 3 ≤ X₄ ∧ 1+X₀ ≤ X₁
t₃₂: l2(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₄ ≤ 1 ∧ 1+X₀ ≤ X₁
t₃₃: l2(X₀, X₁, X₄) → l3(X₀, X₁, 2) :|: X₄ ≤ 2 ∧ 2 ≤ X₄ ∧ 1+X₀ ≤ X₁
t₃₄: l3(X₀, X₁, X₄) → l3(X₀, X₁, X₄)
Found invariant 1+X₀ ≤ X₁ for location l2
Found invariant X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁ for location n_l1___1
Found invariant 1+X₀ ≤ X₁ for location l2
Found invariant X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁ for location n_l1___1
Termination: true
Formula:
relevant size-bounds w.r.t. t₈₃:
X₀: X₀+1 {O(n)}
X₁: X₁ {O(n)}
Runtime-bound of t₈₃: 1 {O(1)}
Results in: 4⋅X₀+4⋅X₁+12 {O(n)}
new bound:
4⋅X₀+4⋅X₁+12 {O(n)}
cfr-program:
Start: l0
Program_Vars: X₀, X₁, X₄
Temp_Vars: A1, W
Locations: l0, l1, l2, l3, n_l1___1
Transitions:
t₂₅: l0(X₀, X₁, X₄) → l1(X₀, X₁, X₄)
t₂₈: l1(X₀, X₁, X₄) → l2(X₀, X₁, A1) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ 2 ≤ A1
t₂₉: l1(X₀, X₁, X₄) → l2(X₀, X₁, A1) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ A1 ≤ 0
t₂₆: l1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₁ ≤ X₀
t₂₇: l1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: 1 ≤ W ∧ X₀+1 ≤ X₁
t₈₃: l1(X₀, X₁, X₄) → n_l1___1(X₀+1, X₁, 1) :|: 1+X₀ ≤ X₁
t₃₁: l2(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: 3 ≤ X₄ ∧ 1+X₀ ≤ X₁ ∧ 1+X₀ ≤ X₁
t₃₂: l2(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₄ ≤ 1 ∧ 1+X₀ ≤ X₁ ∧ 1+X₀ ≤ X₁
t₃₃: l2(X₀, X₁, X₄) → l3(X₀, X₁, 2) :|: X₄ ≤ 2 ∧ 2 ≤ X₄ ∧ 1+X₀ ≤ X₁ ∧ 1+X₀ ≤ X₁
t₃₄: l3(X₀, X₁, X₄) → l3(X₀, X₁, X₄)
t₈₉: n_l1___1(X₀, X₁, X₄) → l2(X₀, X₁, A1) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ 2 ≤ A1 ∧ X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁
t₉₀: n_l1___1(X₀, X₁, X₄) → l2(X₀, X₁, A1) :|: X₀+1 ≤ X₁ ∧ W ≤ 0 ∧ A1 ≤ 0 ∧ X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁
t₉₁: n_l1___1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: X₁ ≤ X₀ ∧ X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁
t₉₂: n_l1___1(X₀, X₁, X₄) → l3(X₀, X₁, X₄) :|: 1 ≤ W ∧ X₀+1 ≤ X₁ ∧ X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁
t₈₂: n_l1___1(X₀, X₁, X₄) → n_l1___1(X₀+1, X₁, 1) :|: X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁
Found invariant 1+X₀ ≤ X₁ for location l2
Found invariant X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁ for location n_l1___1
Found invariant 1+X₀ ≤ X₁ for location l2
Found invariant X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ 1+X₀ ≤ X₁ for location l3
Found invariant X₄ ≤ 1 ∧ 1 ≤ X₄ ∧ X₀ ≤ X₁ for location n_l1___1
Overall timebound:inf {Infinity}
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₃₂: 1 {O(1)}
t₃₃: 1 {O(1)}
t₃₄: inf {Infinity}
t₈₂: 4⋅X₀+4⋅X₁+12 {O(n)}
t₈₉: 1 {O(1)}
t₉₀: 1 {O(1)}
t₉₁: 1 {O(1)}
t₉₂: 1 {O(1)}
Overall costbound: inf {Infinity}
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₃₂: 1 {O(1)}
t₃₃: 1 {O(1)}
t₃₄: inf {Infinity}
t₈₂: 4⋅X₀+4⋅X₁+12 {O(n)}
t₈₉: 1 {O(1)}
t₉₀: 1 {O(1)}
t₉₁: 1 {O(1)}
t₉₂: 1 {O(1)}
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₀: 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₀: X₀+1 {O(n)}
t₈₃, X₁: X₁ {O(n)}
t₈₃, X₄: 1 {O(1)}
t₃₁, X₀: 4⋅X₁+7⋅X₀+14 {O(n)}
t₃₁, X₁: 3⋅X₁ {O(n)}
t₃₂, X₀: 4⋅X₁+7⋅X₀+14 {O(n)}
t₃₂, X₁: 3⋅X₁ {O(n)}
t₃₃, X₀: 4⋅X₁+7⋅X₀+14 {O(n)}
t₃₃, X₁: 3⋅X₁ {O(n)}
t₃₃, X₄: 2 {O(1)}
t₃₄, X₀: 20⋅X₁+35⋅X₀+70 {O(n)}
t₃₄, X₁: 15⋅X₁ {O(n)}
t₈₂, X₀: 4⋅X₁+5⋅X₀+13 {O(n)}
t₈₂, X₁: X₁ {O(n)}
t₈₂, X₄: 1 {O(1)}
t₈₉, X₀: 4⋅X₁+6⋅X₀+14 {O(n)}
t₈₉, X₁: 2⋅X₁ {O(n)}
t₉₀, X₀: 4⋅X₁+6⋅X₀+14 {O(n)}
t₉₀, X₁: 2⋅X₁ {O(n)}
t₉₁, X₀: 4⋅X₁+6⋅X₀+14 {O(n)}
t₉₁, X₁: 2⋅X₁ {O(n)}
t₉₁, X₄: 1 {O(1)}
t₉₂, X₀: 4⋅X₁+6⋅X₀+14 {O(n)}
t₉₂, X₁: 2⋅X₁ {O(n)}
t₉₂, X₄: 1 {O(1)}