theorem
OrderHom.le_gfp_prob
{𝒱✝ : Type u_1}
{Γ : 𝒱✝ → Type u_2}
{x : pGCL.State Γ → ENNReal}
{f : pGCL.ProbExp Γ →o pGCL.ProbExp Γ}
(h₁ : x ≤ 1)
(h₂ : x ≤ ⇑(f ⟨x, h₁⟩))
:
theorem
OrderHom.le_gfp_of_iter_prob
{𝒱✝ : Type u_1}
{Γ : 𝒱✝ → Type u_2}
{x : pGCL.State Γ → ENNReal}
{f : pGCL.ProbExp Γ →o pGCL.ProbExp Γ}
(k : ℕ)
(h₁ : x ≤ 1)
(h₂ : x ≤ ⇑(f ((fun (x_1 : pGCL.ProbExp Γ) => f x_1 ⊔ ⟨x, h₁⟩)^[k] ⟨x, h₁⟩)))
:
Equations
Instances For
noncomputable def
pGCL.fix
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
(C : pGCL Γ)
(S : Set 𝒱)
(σ₀ : State Γ)
:
Equations
- pgcl {skip}.fix S σ₀ = pgcl {skip}
- pgcl {@x_1 := @a}.fix S σ₀ = if hx : x_1 ∈ ~ S then pgcl {@⟨x_1, hx⟩ := @(pGCL.Exp.fix a S σ₀)} else pgcl {skip}
- pgcl {@C₁ ; @C₂}.fix S σ₀ = pgcl {@(C₁.fix S σ₀) ; @(C₂.fix S σ₀)}
- pgcl {{ @C₁ } [@a] { @C₂ }}.fix S σ₀ = pgcl {{ @(C₁.fix S σ₀) } [@(a.fix S σ₀)] { @(C₂.fix S σ₀) }}
- pgcl {{ @C₁ } [] { @C₂ }}.fix S σ₀ = pgcl {{ @(C₁.fix S σ₀) } [] { @(C₂.fix S σ₀) }}
- pgcl {while @a { @C' }}.fix S σ₀ = pgcl {while @(pGCL.Exp.fix a S σ₀) { @(C'.fix S σ₀) }}
- pgcl {tick(@a)}.fix S σ₀ = pgcl {tick(@(pGCL.Exp.fix a S σ₀))}
- pgcl {observe(@a)}.fix S σ₀ = pgcl {observe(@(pGCL.Exp.fix a S σ₀))}