Preprocessing
Found invariant X₀ ≤ 5 ∧ 0 ≤ X₀ for location g
Probabilistic Analysis
Probabilistic Program after Preprocessing
Start: f
Program_Vars: X₀
Temp_Vars:
Locations: f, g
Transitions:
g₀:f(X₀) -{0}> t₁:g(0) :|:
g₂:g(X₀) → t₃:g(1+X₀) :|: X₀ ≤ 4 ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ X₀ ≤ 5
g₄:g(X₀) → [1/5]:t₅:g(1) :+: [4/5]:t₆:g(1+X₀) :|: X₀ ≤ 4 ∧ X₀ ≤ 1 ∧ 1 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀
g₇:g(X₀) → [2/5]:t₈:g(2) :+: [3/5]:t₉:g(1+X₀) :|: X₀ ≤ 4 ∧ X₀ ≤ 2 ∧ 2 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀
g₁₀:g(X₀) → [3/5]:t₁₁:g(3) :+: [2/5]:t₁₂:g(1+X₀) :|: X₀ ≤ 4 ∧ X₀ ≤ 3 ∧ 3 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀
g₁₃:g(X₀) → [4/5]:t₁₄:g(4) :+: [1/5]:t₁₅:g(1+X₀) :|: X₀ ≤ 4 ∧ 4 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ 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}
g₁₀: inf {Infinity}
g₁₃: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₀: inf {Infinity}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₇: inf {Infinity}
g₁₀: inf {Infinity}
g₁₃: inf {Infinity}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
Run probabilistic analysis on SCC: [f]
Run classical analysis on SCC: [g]
knowledge_propagation leads to new time bound 1 {O(1)} for transition t₃: g(X₀) → g(1+X₀) :|: X₀ ≤ 5 ∧ X₀ ≤ 4 ∧ X₀ ≤ 0 ∧ 0 ≤ X₀
MPRF for transition t₆: g(X₀) → g(1+X₀) :|: X₀ ≤ 5 ∧ 0 ≤ X₀ ∧ X₀ ≤ 4 ∧ X₀ ≤ 1 ∧ 1 ≤ X₀ of depth 1:
new bound:
5 {O(1)}
MPRF:
• g: [5-X₀]
MPRF for transition t₉: g(X₀) → g(1+X₀) :|: X₀ ≤ 5 ∧ 0 ≤ X₀ ∧ X₀ ≤ 4 ∧ X₀ ≤ 2 ∧ 2 ≤ X₀ of depth 1:
new bound:
5 {O(1)}
MPRF:
• g: [5-X₀]
MPRF for transition t₁₂: g(X₀) → g(1+X₀) :|: X₀ ≤ 5 ∧ 0 ≤ X₀ ∧ X₀ ≤ 4 ∧ X₀ ≤ 3 ∧ 3 ≤ X₀ of depth 1:
new bound:
5 {O(1)}
MPRF:
• g: [5-X₀]
MPRF for transition t₁₅: g(X₀) → g(1+X₀) :|: X₀ ≤ 5 ∧ 0 ≤ X₀ ∧ X₀ ≤ 4 ∧ X₀ ≤ 4 ∧ 4 ≤ X₀ of depth 1:
new bound:
5 {O(1)}
MPRF:
• g: [5-X₀]
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₀: 1 {O(1)}
g₂: 1 {O(1)}
g₄: inf {Infinity}
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}
g₁₀: inf {Infinity}
g₁₃: inf {Infinity}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
(g₂,g), X₀: 1 {O(1)}
(g₄,g), X₀: 3 {O(1)}
(g₇,g), X₀: 5 {O(1)}
(g₁₀,g), X₀: 7 {O(1)}
(g₁₃,g), X₀: 9 {O(1)}
Run probabilistic analysis on SCC: [g]
Plrf for transition g₄:g(X₀) → [1/5]:t₅:g(1) :+: [4/5]:t₆:g(1+X₀) :|: X₀ ≤ 4 ∧ X₀ ≤ 1 ∧ 1 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀:
new bound:
25/4 {O(1)}
PLRF:
• g: 25/4-5/4⋅X₀
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)
Plrf for transition g₇:g(X₀) → [2/5]:t₈:g(2) :+: [3/5]:t₉:g(1+X₀) :|: X₀ ≤ 4 ∧ X₀ ≤ 2 ∧ 2 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀:
new bound:
25/3 {O(1)}
PLRF:
• g: 25/3-5/3⋅X₀
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)
Plrf for transition g₁₀:g(X₀) → [3/5]:t₁₁:g(3) :+: [2/5]:t₁₂:g(1+X₀) :|: X₀ ≤ 4 ∧ X₀ ≤ 3 ∧ 3 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀:
new bound:
25/2 {O(1)}
PLRF:
• g: 25/2-5/2⋅X₀
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)
Plrf for transition g₁₃:g(X₀) → [4/5]:t₁₄:g(4) :+: [1/5]:t₁₅:g(1+X₀) :|: X₀ ≤ 4 ∧ 4 ≤ X₀ ∧ X₀ ≤ 5 ∧ 0 ≤ X₀:
new bound:
25 {O(1)}
PLRF:
• g: 25-5⋅X₀
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:649/12 {O(1)}
g₀: 1 {O(1)}
g₂: 1 {O(1)}
g₄: 25/4 {O(1)}
g₇: 25/3 {O(1)}
g₁₀: 25/2 {O(1)}
g₁₃: 25 {O(1)}
Costbounds
Overall costbound: 631/6 {O(1)}
g₀: 0 {O(1)}
g₂: 1 {O(1)}
g₄: 25/2 {O(1)}
g₇: 50/3 {O(1)}
g₁₀: 25 {O(1)}
g₁₃: 50 {O(1)}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
(g₂,g), X₀: 1 {O(1)}
(g₄,g), X₀: 3 {O(1)}
(g₇,g), X₀: 5 {O(1)}
(g₁₀,g), X₀: 7 {O(1)}
(g₁₃,g), X₀: 9 {O(1)}