Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: l0, l1, l2, l3, l4, l5, l6, l7
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄)
t₂: l1(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₁, X₃, X₄) :|: X₀ < 10
t₃: l1(X₀, X₁, X₂, X₃, X₄) → l4(X₀, X₁, X₂, X₃, X₄) :|: 10 ≤ X₀
t₁: l2(X₀, X₁, X₂, X₃, X₄) → l1(0, 3, X₂, X₃, X₄)
t₅: l3(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₁, X₂, X₃, X₄) :|: 12 ≤ X₂
t₄: l3(X₀, X₁, X₂, X₃, X₄) → l6(X₀, X₁, X₂, X₃, X₄) :|: X₂ < 12
t₈: l4(X₀, X₁, X₂, X₃, X₄) → l7(X₀, X₁, X₂, X₃, X₄)
t₇: l5(X₀, X₁, X₂, X₃, X₄) → l1(X₀+1, X₂, X₂, X₃, X₄)
t₆: l6(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₂+1, X₃, X₄)
Preprocessing
Eliminate variables {X₃,X₄} that do not contribute to the problem
Found invariant X₂ ≤ 11 ∧ X₂ ≤ 8+X₁ ∧ X₁+X₂ ≤ 22 ∧ X₂ ≤ 11+X₀ ∧ 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ 11 ∧ X₁ ≤ 11+X₀ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location l6
Found invariant 3 ≤ X₁ ∧ 13 ≤ X₀+X₁ ∧ 10 ≤ X₀ for location l7
Found invariant 12 ≤ X₂ ∧ 15 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 12 ≤ X₀+X₂ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location l5
Found invariant 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location l1
Found invariant 3 ≤ X₁ ∧ 13 ≤ X₀+X₁ ∧ 10 ≤ X₀ for location l4
Found invariant 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location l3
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2, l3, l4, l5, l6, l7
Transitions:
t₁₇: l0(X₀, X₁, X₂) → l2(X₀, X₁, X₂)
t₁₈: l1(X₀, X₁, X₂) → l3(X₀, X₁, X₁) :|: X₀ < 10 ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₁₉: l1(X₀, X₁, X₂) → l4(X₀, X₁, X₂) :|: 10 ≤ X₀ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₂₀: l2(X₀, X₁, X₂) → l1(0, 3, X₂)
t₂₁: l3(X₀, X₁, X₂) → l5(X₀, X₁, X₂) :|: 12 ≤ X₂ ∧ 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₂₂: l3(X₀, X₁, X₂) → l6(X₀, X₁, X₂) :|: X₂ < 12 ∧ 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₂₃: l4(X₀, X₁, X₂) → l7(X₀, X₁, X₂) :|: 3 ≤ X₁ ∧ 13 ≤ X₀+X₁ ∧ 10 ≤ X₀
t₂₄: l5(X₀, X₁, X₂) → l1(X₀+1, X₂, X₂) :|: 12 ≤ X₂ ∧ 15 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 12 ≤ X₀+X₂ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₂₅: l6(X₀, X₁, X₂) → l3(X₀, X₁, X₂+1) :|: X₂ ≤ 11 ∧ X₂ ≤ 8+X₁ ∧ X₁+X₂ ≤ 22 ∧ X₂ ≤ 11+X₀ ∧ 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ 11 ∧ X₁ ≤ 11+X₀ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀
MPRF for transition t₁₈: l1(X₀, X₁, X₂) → l3(X₀, X₁, X₁) :|: X₀ < 10 ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ of depth 1:
new bound:
10 {O(1)}
MPRF for transition t₂₂: l3(X₀, X₁, X₂) → l6(X₀, X₁, X₂) :|: X₂ < 12 ∧ 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ of depth 1:
new bound:
15 {O(1)}
MPRF for transition t₂₅: l6(X₀, X₁, X₂) → l3(X₀, X₁, X₂+1) :|: X₂ ≤ 11 ∧ X₂ ≤ 8+X₁ ∧ X₁+X₂ ≤ 22 ∧ X₂ ≤ 11+X₀ ∧ 3 ≤ X₂ ∧ 6 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ 3 ≤ X₀+X₂ ∧ X₁ ≤ 11 ∧ X₁ ≤ 11+X₀ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ of depth 1:
new bound:
15 {O(1)}
TWN: t₂₁: l3→l5
cycle: [t₂₁: l3→l5; t₂₄: l5→l1; t₁₈: l1→l3]
loop: (12 ≤ X₂ ∧ X₀ < 9,(X₀,X₂) -> (1+X₀,X₂)
order: [X₀; X₂]
closed-form:
X₀: X₀ + [[n != 0]] * n^1
X₂: X₂
Termination: true
Formula:
1 < 0 ∧ 12 < X₂
∨ 1 < 0 ∧ 12 ≤ X₂ ∧ X₂ ≤ 12
∨ X₀ < 9 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 12 < X₂
∨ X₀ < 9 ∧ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 12 ≤ X₂ ∧ X₂ ≤ 12
Stabilization-Threshold for: X₀ < 9
alphas_abs: 9+X₀
M: 0
N: 1
Bound: 2⋅X₀+20 {O(n)}
loop: (X₀ < 10 ∧ 12 ≤ X₁,(X₀,X₁) -> (X₀+1,X₁)
order: [X₀; X₁]
closed-form:
X₀: X₀ + [[n != 0]] * n^1
X₁: X₁
Termination: true
Formula:
12 < X₁ ∧ 1 < 0
∨ 12 < X₁ ∧ X₀ < 10 ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 12 ≤ X₁ ∧ X₁ ≤ 12 ∧ 1 < 0
∨ 12 ≤ X₁ ∧ X₁ ≤ 12 ∧ X₀ < 10 ∧ 1 ≤ 0 ∧ 0 ≤ 1
Stabilization-Threshold for: X₀ < 10
alphas_abs: X₀+10
M: 0
N: 1
Bound: 2⋅X₀+22 {O(n)}
TWN - Lifting for t₂₁: l3→l5 of 2⋅X₀+23 {O(n)}
relevant size-bounds w.r.t. t₂₅:
X₀: 9 {O(1)}
Runtime-bound of t₂₅: 15 {O(1)}
Results in: 615 {O(1)}
TWN - Lifting for t₂₁: l3→l5 of 2⋅X₀+25 {O(n)}
relevant size-bounds w.r.t. t₂₀:
X₀: 0 {O(1)}
Runtime-bound of t₂₀: 1 {O(1)}
Results in: 25 {O(1)}
TWN: t₂₄: l5→l1
TWN - Lifting for t₂₄: l5→l1 of 2⋅X₀+23 {O(n)}
relevant size-bounds w.r.t. t₂₅:
X₀: 9 {O(1)}
Runtime-bound of t₂₅: 15 {O(1)}
Results in: 615 {O(1)}
TWN - Lifting for t₂₄: l5→l1 of 2⋅X₀+25 {O(n)}
relevant size-bounds w.r.t. t₂₀:
X₀: 0 {O(1)}
Runtime-bound of t₂₀: 1 {O(1)}
Results in: 25 {O(1)}
All Bounds
Timebounds
Overall timebound:1324 {O(1)}
t₁₇: 1 {O(1)}
t₁₈: 10 {O(1)}
t₁₉: 1 {O(1)}
t₂₀: 1 {O(1)}
t₂₁: 640 {O(1)}
t₂₂: 15 {O(1)}
t₂₃: 1 {O(1)}
t₂₄: 640 {O(1)}
t₂₅: 15 {O(1)}
Costbounds
Overall costbound: 1324 {O(1)}
t₁₇: 1 {O(1)}
t₁₈: 10 {O(1)}
t₁₉: 1 {O(1)}
t₂₀: 1 {O(1)}
t₂₁: 640 {O(1)}
t₂₂: 15 {O(1)}
t₂₃: 1 {O(1)}
t₂₄: 640 {O(1)}
t₂₅: 15 {O(1)}
Sizebounds
t₁₇, X₀: X₀ {O(n)}
t₁₇, X₁: X₁ {O(n)}
t₁₇, X₂: X₂ {O(n)}
t₁₈, X₀: 9 {O(1)}
t₁₈, X₁: 18 {O(1)}
t₁₈, X₂: 15 {O(1)}
t₁₉, X₀: 19 {O(1)}
t₁₉, X₁: 15 {O(1)}
t₁₉, X₂: 15 {O(1)}
t₂₀, X₀: 0 {O(1)}
t₂₀, X₁: 3 {O(1)}
t₂₀, X₂: X₂ {O(n)}
t₂₁, X₀: 18 {O(1)}
t₂₁, X₁: 29 {O(1)}
t₂₁, X₂: 15 {O(1)}
t₂₂, X₀: 9 {O(1)}
t₂₂, X₁: 11 {O(1)}
t₂₂, X₂: 11 {O(1)}
t₂₃, X₀: 19 {O(1)}
t₂₃, X₁: 15 {O(1)}
t₂₃, X₂: 15 {O(1)}
t₂₄, X₀: 19 {O(1)}
t₂₄, X₁: 15 {O(1)}
t₂₄, X₂: 15 {O(1)}
t₂₅, X₀: 9 {O(1)}
t₂₅, X₁: 11 {O(1)}
t₂₅, X₂: 12 {O(1)}