Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2, l3
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, 1, 1)
t₁: l1(X₀, X₁, X₂) → l1(X₀-1, 2⋅X₁, X₂) :|: 0 < X₀
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₀ ≤ 0
t₃: l2(X₀, X₁, X₂) → l2(X₀, X₁-1, 2⋅X₂) :|: 0 < X₁
t₄: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: X₁ ≤ 0
t₅: l3(X₀, X₁, X₂) → l3(X₀, X₁, X₂-1) :|: 0 < X₂
Preprocessing
Found invariant 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location l2
Found invariant X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l1
Found invariant 0 ≤ X₂ ∧ 0 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location l3
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2, l3
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, 1, 1)
t₁: l1(X₀, X₁, X₂) → l1(X₀-1, 2⋅X₁, X₂) :|: 0 < X₀ ∧ X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁
t₂: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂) :|: X₀ ≤ 0 ∧ X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁
t₃: l2(X₀, X₁, X₂) → l2(X₀, X₁-1, 2⋅X₂) :|: 0 < X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0
t₄: l2(X₀, X₁, X₂) → l3(X₀, X₁, X₂) :|: X₁ ≤ 0 ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0
t₅: l3(X₀, X₁, X₂) → l3(X₀, X₁, X₂-1) :|: 0 < X₂ ∧ 0 ≤ X₂ ∧ 0 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0
MPRF for transition t₁: l1(X₀, X₁, X₂) → l1(X₀-1, 2⋅X₁, X₂) :|: 0 < X₀ ∧ X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:
new bound:
X₀ {O(n)}
MPRF for transition t₃: l2(X₀, X₁, X₂) → l2(X₀, X₁-1, 2⋅X₂) :|: 0 < X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 of depth 1:
new bound:
2^(X₀)+2 {O(EXP)}
Analysing control-flow refined program
Cut unsatisfiable transition t₄: l2→l3
Found invariant X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ X₀+X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1+X₀ ≤ X₂ ∧ 1 ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₀ ≤ 0 for location l2
Found invariant 4 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 4+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location n_l2___1
Found invariant X₂ ≤ 2 ∧ X₂ ≤ 2+X₁ ∧ X₀+X₂ ≤ 2 ∧ 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 2+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location n_l2___2
Found invariant X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l1
Found invariant 0 ≤ X₂ ∧ 0 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location l3
MPRF for transition t₄₃: n_l2___1(X₀, X₁, X₂) → n_l2___1(X₀, X₁-1, 2⋅X₂) :|: 0 < X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₀ ≤ 0 ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₀ ≤ 0 ∧ 4 ≤ X₂ ∧ 4 ≤ X₁+X₂ ∧ 4+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 of depth 1:
new bound:
2^(X₀)+2 {O(EXP)}
CFR did not improve the program. Rolling back
CFR did not improve the program. Rolling back
TWN: t₅: l3→l3
cycle: [t₅: l3→l3]
loop: (0 < X₂,(X₂) -> (X₂-1)
order: [X₂]
closed-form:
X₂: X₂ + [[n != 0]] * -1 * n^1
Termination: true
Formula:
1 < 0
∨ 0 < X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1
Stabilization-Threshold for: 0 < X₂
alphas_abs: X₂
M: 0
N: 1
Bound: 2⋅X₂+2 {O(n)}
TWN - Lifting for t₅: l3→l3 of 2⋅X₂+4 {O(n)}
relevant size-bounds w.r.t. t₄:
X₂: 2^(2^(X₀)+2) {O(EXP^O(EXP))}
Runtime-bound of t₄: 1 {O(1)}
Results in: 2⋅2^(2^(X₀)+2)+4 {O(EXP^O(EXP))}
Analysing control-flow refined program
Found invariant 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1+X₀ ≤ X₂ ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location l2
Found invariant 1 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1+X₁ ≤ X₂ ∧ 1+X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location n_l3___3
Found invariant 0 ≤ X₂ ∧ 0 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location n_l3___2
Found invariant X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l1
Found invariant 0 ≤ X₂ ∧ 0 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location n_l3___1
Found invariant 2 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 2+X₁ ≤ X₂ ∧ 2+X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 for location l3
MPRF for transition t₁₀₂: n_l3___1(X₀, X₁, X₂) → n_l3___1(X₀, 0, X₂-1) :|: 0 < X₂ ∧ X₀ ≤ 0 ∧ X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ 0 ∧ X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ 0 ≤ X₂ ∧ 0 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₀ ≤ X₂ ∧ X₁ ≤ 0 ∧ X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ X₀ ≤ X₁ ∧ X₀ ≤ 0 of depth 1:
new bound:
2^(2^(X₀)+2)+1 {O(EXP^O(EXP))}
CFR did not improve the program. Rolling back
CFR did not improve the program. Rolling back
All Bounds
Timebounds
Overall timebound:2⋅2^(2^(X₀)+2)+2^(X₀)+X₀+9 {O(EXP^O(EXP))}
t₀: 1 {O(1)}
t₁: X₀ {O(n)}
t₂: 1 {O(1)}
t₃: 2^(X₀)+2 {O(EXP)}
t₄: 1 {O(1)}
t₅: 2⋅2^(2^(X₀)+2)+4 {O(EXP^O(EXP))}
Costbounds
Overall costbound: 2⋅2^(2^(X₀)+2)+2^(X₀)+X₀+9 {O(EXP^O(EXP))}
t₀: 1 {O(1)}
t₁: X₀ {O(n)}
t₂: 1 {O(1)}
t₃: 2^(X₀)+2 {O(EXP)}
t₄: 1 {O(1)}
t₅: 2⋅2^(2^(X₀)+2)+4 {O(EXP^O(EXP))}
Sizebounds
t₀, X₀: X₀ {O(n)}
t₀, X₁: 1 {O(1)}
t₀, X₂: 1 {O(1)}
t₁, X₀: X₀ {O(n)}
t₁, X₁: 2^(X₀) {O(EXP)}
t₁, X₂: 1 {O(1)}
t₂, X₀: 2⋅X₀ {O(n)}
t₂, X₁: 2^(X₀)+1 {O(EXP)}
t₂, X₂: 1 {O(1)}
t₃, X₀: 2⋅X₀ {O(n)}
t₃, X₁: 2^(X₀)+1 {O(EXP)}
t₃, X₂: 2^(2^(X₀)+2) {O(EXP^O(EXP))}
t₄, X₀: 2⋅X₀ {O(n)}
t₄, X₁: 0 {O(1)}
t₄, X₂: 2^(2^(X₀)+2) {O(EXP^O(EXP))}
t₅, X₀: 2⋅X₀ {O(n)}
t₅, X₁: 0 {O(1)}
t₅, X₂: 2^(2^(X₀)+2) {O(EXP^O(EXP))}