Documentation

PGCL.WeakestLiberalPre

noncomputable def pGCL. {𝒱 : Type u_1} {Γ : 𝒱Type u_2} (g : ProbExp Γ →o ProbExp Γ) (φ : BExpr Γ) :
Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem pGCL.pΨ_eq_Ψ {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {g : ProbExp Γ →o ProbExp Γ} {g' : (State ΓENNReal) →o State ΓENNReal} {φ : BExpr Γ} {x y : ProbExp Γ} (hg : ∀ (X : ProbExp Γ) (σ : State Γ), (g X) σ = g' (⇑X) σ) :
      (((pΨ[g] φ) x) y) = ((Ψ[g'] φ) x) y
      theorem pGCL.pΨ_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {φ : BExpr Γ} {f : ProbExp Γ} {g : ProbExp Γ →o ProbExp Γ} :
      (pΨ[g] φ) f = { toFun := fun (X : ProbExp Γ) => p[φ] * g X + (1 - p[φ]) * f, monotone' := }
      theorem pGCL.pΨ_apply₂ {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {φ : BExpr Γ} {f X : ProbExp Γ} {g : ProbExp Γ →o ProbExp Γ} :
      ((pΨ[g] φ) f) X = p[φ] * g X + (1 - p[φ]) * f
      theorem pGCL.ProbExp.ωScottContinuous_dual_iff' {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {f : ProbExp Γ →o ProbExp Γ} :
      OmegaCompletePartialOrder.ωScottContinuous (OrderHom.dual f) ∀ (c : ProbExp Γ), Antitone cf (⨅ (i : ), c i) = ⨅ (i : ), f (c i)
      theorem pGCL..continuous' {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {b : BExpr Γ} {X : ProbExp Γ} {g : ProbExp Γ →o ProbExp Γ} (hg : OmegaCompletePartialOrder.ωScottContinuous g) :
      noncomputable def pGCL.wfp' {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] (O : Optimization) :
      pGCL ΓProbExp Γ →o ProbExp Γ
      Equations
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            noncomputable def pGCL.wfp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] (O : Optimization) :
            pGCL Γ(State ΓENNReal) →o State ΓENNReal
            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem pGCL.wfp'_eq_wfp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {X : ProbExp Γ} {C : pGCL Γ} :
                  (wfp'[O]⟦@C X) = wfp[O]⟦@C X
                  theorem pGCL.wfp_loop {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
                  theorem pGCL.wfp_fp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
                  ((Ψ[wfp[O]⟦@C'] φ) f) (wfp[O]⟦while @φ { @C' } f) = wfp[O]⟦while @φ { @C' } f
                  theorem pGCL.wfp'_loop {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : ProbExp Γ} (φ : BExpr Γ) (C' : pGCL Γ) :
                  (wfp'[O]⟦while @φ { @C' } f) = OrderHom.lfp ((Ψ[wfp[O]⟦@C'] φ) f)
                  noncomputable def pGCL.wlp' {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] (O : Optimization) :
                  pGCL ΓProbExp Γ →o ProbExp Γ
                  Equations
                  Instances For
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        noncomputable def pGCL. {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] (O : Optimization) (b : BExpr Γ) (C' : pGCL Γ) (f : ProbExp Γ) :
                        Equations
                        Instances For
                          theorem pGCL.wlp'_loop {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : ProbExp Γ} (φ : BExpr Γ) (C' : pGCL Γ) :
                          wlp'[O]⟦while @φ { @C' } f = OrderHom.gfp ( O φ C' f)
                          @[simp]
                          theorem pGCL.wlp'.skip_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} :
                          @[simp]
                          theorem pGCL.wlp'.assign_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} {x : 𝒱} {A : State ΓΓ x} :
                          (wlp'[O]⟦@x := @A) X = X[x A]
                          @[simp]
                          theorem pGCL.wlp'.seq_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} {C₁ C₂ : pGCL Γ} :
                          (wlp'[O]⟦@C₁ ; @C₂) X = wlp'[O]⟦@C₁ (wlp'[O]⟦@C₂ X)
                          @[simp]
                          theorem pGCL.wlp'.prob_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} {C₁ : pGCL Γ} {p : ProbExp Γ} {C₂ : pGCL Γ} :
                          wlp'[O]⟦{ @C₁ } [@p] { @C₂ } X = p * wlp'[O]⟦@C₁ X + (1 - p) * wlp'[O]⟦@C₂ X
                          @[simp]
                          theorem pGCL.wlp'.nonDet_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} {C₁ C₂ : pGCL Γ} :
                          wlp'[O]⟦{ @C₁ } [] { @C₂ } X = O.opt (wlp'[O]⟦@C₁ X) (wlp'[O]⟦@C₂ X)
                          @[simp]
                          theorem pGCL.wlp'.tick_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} {e : State ΓENNReal} :
                          @[simp]
                          theorem pGCL.wlp'.observe_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : ProbExp Γ} {O : Optimization} {b : State ΓProp} :
                          noncomputable def pGCL.wlp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] (O : Optimization) (C : pGCL Γ) :
                          (State ΓENNReal) →o State ΓENNReal
                          Equations
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem pGCL.wlp.skip_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} :
                                (wlp[O]⟦skip) X = X1
                                @[simp]
                                theorem pGCL.wlp.assign_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} {x : 𝒱} {A : State ΓΓ x} :
                                (wlp[O]⟦@x := @A) X = (X1)[x A]
                                @[simp]
                                theorem pGCL.wlp.seq_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} {C₁ C₂ : pGCL Γ} :
                                (wlp[O]⟦@C₁ ; @C₂) X = wlp[O]⟦@C₁ (wlp[O]⟦@C₂ X1)
                                @[simp]
                                theorem pGCL.wlp.prob_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} {C₁ : pGCL Γ} {p : ProbExp Γ} {C₂ : pGCL Γ} :
                                wlp[O]⟦{ @C₁ } [@p] { @C₂ } X = p * wlp[O]⟦@C₁ X + (1 - p) * wlp[O]⟦@C₂ X
                                @[simp]
                                theorem pGCL.wlp.nonDet_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} {C₁ C₂ : pGCL Γ} :
                                wlp[O]⟦{ @C₁ } [] { @C₂ } X = O.opt (wlp[O]⟦@C₁ X) (wlp[O]⟦@C₂ X)
                                @[simp]
                                theorem pGCL.wlp.tick_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} {e : State ΓENNReal} :
                                wlp[O]⟦tick(@e) X = X1
                                @[simp]
                                theorem pGCL.wlp.observe_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {X : State ΓENNReal} {O : Optimization} {b : State ΓProp} :
                                wlp[O]⟦observe(@b) X = p[b] * (X1)
                                theorem pGCL.wlp_sound {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} (C : pGCL Γ) (X : ProbExp Γ) :
                                theorem pGCL.wlp'_sound {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} (C : pGCL Γ) :
                                Equations
                                • =
                                Instances For
                                  Equations
                                  • =
                                  Instances For
                                    theorem pGCL.ωScottContinuous_dual_prob_iff {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {f : ProbExp Γ →o ProbExp Γ} :
                                    OmegaCompletePartialOrder.ωScottContinuous (OrderHom.dual f) ∀ (c : ProbExp Γ), Antitone cf (⨅ (i : ), c i) = ⨅ (i : ), f (c i)
                                    def pGCL.wlp'.continuous_aux {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} (C : pGCL Γ) (h : ∀ (X : ProbExp Γ), wlp'[O]⟦@C X = 1 - wfp'[O.dual]⟦@C (1 - X)) :
                                    Equations
                                    • =
                                    Instances For
                                      Equations
                                      • =
                                      Instances For
                                        @[simp]
                                        Equations
                                        • =
                                        Instances For
                                          @[simp]
                                          def pGCL.Ψ.wlp_continuous {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {φ : BExpr Γ} {f : State ΓENNReal} {C' : pGCL Γ} :
                                          Equations
                                          • =
                                          Instances For
                                            theorem pGCL.wlp_loop_eq_gfp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
                                            theorem pGCL.wlp_loop_eq_iter {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
                                            wlp[O]⟦while @φ { @C' } f = ⨅ (n : ), (⇑((Ψ[wlp[O]⟦@C'] φ) (f1)))^[n] 1