Preprocessing
Found invariant 3+X₀ ≤ X₃ for location h
Probabilistic Analysis
Probabilistic Program after Preprocessing
Start: f
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars:
Locations: f, g, h
Transitions:
g₀:f(X₀,X₁,X₂,X₃) -{0}> t₁:g(X₀,X₁,X₂,X₃) :|:
g₂:g(X₀,X₁,X₂,X₃) -{0}> t₃:h(X₀,X₁,X₂,X₃) :|: 3+X₀ ≤ X₃
g₄:h(X₀,X₁,X₂,X₃) → [1/2]:t₅:g(X₀,1+X₁,X₂,X₃) :+: [1/2]:t₆:g(X₀,X₁,X₂,X₃) :|: 1+X₁ ≤ X₂ ∧ 3+X₀ ≤ X₃
g₇:h(X₀,X₁,X₂,X₃) → [1/4]:t₈:g(X₀,X₁,X₂,X₃) :+: [1/4]:t₉:g(1+X₀,X₁,X₂,X₃) :+: [1/4]:t₁₀:g(2+X₀,X₁,X₂,X₃) :+: [1/4]:t₁₁:g(3+X₀,X₁,X₂,X₃) :|: X₂ ≤ X₁ ∧ 3+X₀ ≤ X₃
Show Graph
G
f
f
g
g
f->g
p = 1
t₁ ∈ g₀
{0}
h
h
g->h
p = 1
t₃ ∈ g₂
τ = 3+X₀ ≤ X₃
{0}
h->g
p = 1/2
t₅ ∈ g₄
η (X₁) = 1+X₁
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
p = 1/2
t₆ ∈ g₄
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
p = 1/4
t₈ ∈ g₇
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
p = 1/4
t₉ ∈ g₇
η (X₀) = 1+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
p = 1/4
t₁₀ ∈ g₇
η (X₀) = 2+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
p = 1/4
t₁₁ ∈ g₇
η (X₀) = 3+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
Run classical analysis on SCC: [f]
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₀: 1 {O(1)}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₇: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₀: inf {Infinity}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₇: inf {Infinity}
Sizebounds
(g₀,g), X₀: X₀ {O(n)}
(g₀,g), X₁: X₁ {O(n)}
(g₀,g), X₂: X₂ {O(n)}
(g₀,g), X₃: X₃ {O(n)}
Run probabilistic analysis on SCC: [f]
Run classical analysis on SCC: [g; h]
MPRF for transition t₅: h(X₀,X₁,X₂,X₃) → g(X₀,1+X₁,X₂,X₃) :|: 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂ of depth 1:
new bound:
X₁+X₂ {O(n)}
MPRF:
• g: [X₂-X₁]
• h: [X₂-X₁]
Show Graph
G
f
f
g
g
f->g
t₁
{0}
h
h
g->h
t₃
τ = 3+X₀ ≤ X₃
{0}
h->g
t₅
η (X₁) = 1+X₁
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₆
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₈
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₉
η (X₀) = 1+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₀
η (X₀) = 2+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₁
η (X₀) = 3+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
MPRF for transition t₉: h(X₀,X₁,X₂,X₃) → g(1+X₀,X₁,X₂,X₃) :|: 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁ of depth 1:
new bound:
X₀+X₃+2 {O(n)}
MPRF:
• g: [X₃-2-X₀]
• h: [X₃-2-X₀]
Show Graph
G
f
f
g
g
f->g
t₁
{0}
h
h
g->h
t₃
τ = 3+X₀ ≤ X₃
{0}
h->g
t₅
η (X₁) = 1+X₁
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₆
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₈
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₉
η (X₀) = 1+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₀
η (X₀) = 2+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₁
η (X₀) = 3+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
MPRF for transition t₁₀: h(X₀,X₁,X₂,X₃) → g(2+X₀,X₁,X₂,X₃) :|: 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁ of depth 1:
new bound:
X₀+X₃+2 {O(n)}
MPRF:
• g: [X₃-2-X₀]
• h: [X₃-2-X₀]
Show Graph
G
f
f
g
g
f->g
t₁
{0}
h
h
g->h
t₃
τ = 3+X₀ ≤ X₃
{0}
h->g
t₅
η (X₁) = 1+X₁
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₆
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₈
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₉
η (X₀) = 1+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₀
η (X₀) = 2+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₁
η (X₀) = 3+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
MPRF for transition t₁₁: h(X₀,X₁,X₂,X₃) → g(3+X₀,X₁,X₂,X₃) :|: 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁ of depth 1:
new bound:
X₀+X₃+2 {O(n)}
MPRF:
• g: [X₃-2-X₀]
• h: [X₃-2-X₀]
Show Graph
G
f
f
g
g
f->g
t₁
{0}
h
h
g->h
t₃
τ = 3+X₀ ≤ X₃
{0}
h->g
t₅
η (X₁) = 1+X₁
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₆
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
t₈
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₉
η (X₀) = 1+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₀
η (X₀) = 2+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
t₁₁
η (X₀) = 3+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₀: 1 {O(1)}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₇: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₀: inf {Infinity}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₇: inf {Infinity}
Sizebounds
(g₀,g), X₀: X₀ {O(n)}
(g₀,g), X₁: X₁ {O(n)}
(g₀,g), X₂: X₂ {O(n)}
(g₀,g), X₃: X₃ {O(n)}
(g₂,h), X₀: 6⋅X₃+7⋅X₀+12 {O(n)}
(g₂,h), X₁: 2⋅X₁+X₂ {O(n)}
(g₂,h), X₂: X₂ {O(n)}
(g₂,h), X₃: X₃ {O(n)}
(g₄,g), X₀: 12⋅X₃+14⋅X₀+24 {O(n)}
(g₄,g), X₁: 2⋅X₂+4⋅X₁ {O(n)}
(g₄,g), X₂: 2⋅X₂ {O(n)}
(g₄,g), X₃: 2⋅X₃ {O(n)}
(g₇,g), X₀: 24⋅X₃+28⋅X₀+48 {O(n)}
(g₇,g), X₁: 4⋅X₂+8⋅X₁ {O(n)}
(g₇,g), X₂: 4⋅X₂ {O(n)}
(g₇,g), X₃: 4⋅X₃ {O(n)}
Run probabilistic analysis on SCC: [g; h]
Plrf for transition g₇:h(X₀,X₁,X₂,X₃) → [1/4]:t₈:g(X₀,X₁,X₂,X₃) :+: [1/4]:t₉:g(1+X₀,X₁,X₂,X₃) :+: [1/4]:t₁₀:g(2+X₀,X₁,X₂,X₃) :+: [1/4]:t₁₁:g(3+X₀,X₁,X₂,X₃) :|: X₂ ≤ X₁ ∧ 3+X₀ ≤ X₃:
new bound:
2/3⋅X₀+2/3⋅X₃ {O(n)}
PLRF:
• g: 2/3⋅X₃-2/3⋅X₀
• h: 2/3⋅X₃-2/3⋅X₀
Show Graph
G
f
f
g
g
f->g
p = 1
t₁ ∈ g₀
{0}
h
h
g->h
p = 1
t₃ ∈ g₂
τ = 3+X₀ ≤ X₃
{0}
h->g
p = 1/2
t₅ ∈ g₄
η (X₁) = 1+X₁
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
p = 1/2
t₆ ∈ g₄
τ = 3+X₀ ≤ X₃ ∧ 1+X₁ ≤ X₂
h->g
p = 1/4
t₈ ∈ g₇
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
p = 1/4
t₉ ∈ g₇
η (X₀) = 1+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
p = 1/4
t₁₀ ∈ g₇
η (X₀) = 2+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
h->g
p = 1/4
t₁₁ ∈ g₇
η (X₀) = 3+X₀
τ = 3+X₀ ≤ X₃ ∧ X₂ ≤ X₁
Use expected size bounds for entry point (g₀:f→[t₁:1:g],g)
Use expected size bounds for entry point (g₀:f→[t₁:1:g],g)
Use classical time bound for entry point (g₀:f→[t₁:1:g],g)
Results of Probabilistic Analysis
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₀: 1 {O(1)}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₇: 2/3⋅X₀+2/3⋅X₃ {O(n)}
Costbounds
Overall costbound: inf {Infinity}
g₀: 0 {O(1)}
g₂: 0 {O(1)}
g₄: inf {Infinity}
g₇: 8/3⋅X₀+8/3⋅X₃ {O(n)}
Sizebounds
(g₀,g), X₀: X₀ {O(n)}
(g₀,g), X₁: X₁ {O(n)}
(g₀,g), X₂: X₂ {O(n)}
(g₀,g), X₃: X₃ {O(n)}
(g₂,h), X₀: 2⋅X₀+X₃ {O(n)}
(g₂,h), X₁: 2⋅X₁+X₂ {O(n)}
(g₂,h), X₂: X₂ {O(n)}
(g₂,h), X₃: X₃ {O(n)}
(g₄,g), X₀: 2⋅X₀+X₃ {O(n)}
(g₄,g), X₁: 2⋅X₂+4⋅X₁ {O(n)}
(g₄,g), X₂: X₂ {O(n)}
(g₄,g), X₃: X₃ {O(n)}
(g₇,g), X₀: 2⋅X₀+X₃ {O(n)}
(g₇,g), X₁: 4⋅X₂+8⋅X₁ {O(n)}
(g₇,g), X₂: X₂ {O(n)}
(g₇,g), X₃: X₃ {O(n)}