Documentation

PGCL.WeakestPre

theorem OrderHom.lfp_iSup {α : Type u_1} [CompleteLattice α] {f : →o α →o α} (hf : ∀ (i : ), OmegaCompletePartialOrder.ωScottContinuous (f i)) :
lfp (⨆ (i : ), f i) = ⨆ (i : ), lfp (f i)
noncomputable def pGCL.Ψ {𝒱 : Type u_1} {Γ : 𝒱Type u_2} (g : (State ΓENNReal) →o State ΓENNReal) (φ : BExpr Γ) :
(State ΓENNReal) →o (State ΓENNReal) →o State ΓENNReal
Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def pGCL.wp {𝒱 : 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.wp_loop {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
            theorem pGCL.wp_fp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
            ((Ψ[wp[O]⟦@C'] φ) f) (wp[O]⟦while @φ { @C' } f) = wp[O]⟦while @φ { @C' } f
            @[simp]
            theorem pGCL.wp.skip_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {X : State ΓENNReal} :
            @[simp]
            theorem pGCL.wp.assign_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {x : 𝒱} {X : State ΓENNReal} {A : State ΓΓ x} :
            (wp[O]⟦@x := @A) X = X[x A]
            @[simp]
            theorem pGCL.wp.seq_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {C₁ : pGCL Γ} {X : State ΓENNReal} {C₂ : pGCL Γ} :
            (wp[O]⟦@C₁ ; @C₂) X = wp[O]⟦@C₁ (wp[O]⟦@C₂ X)
            @[simp]
            theorem pGCL.wp.prob_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {C₁ : pGCL Γ} {X : State ΓENNReal} {p : ProbExp Γ} {C₂ : pGCL Γ} :
            wp[O]⟦{ @C₁ } [@p] { @C₂ } X = p * wp[O]⟦@C₁ X + (1 - p) * wp[O]⟦@C₂ X
            @[simp]
            theorem pGCL.wp.nonDet_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {C₁ : pGCL Γ} {X : State ΓENNReal} {C₂ : pGCL Γ} :
            wp[O]⟦{ @C₁ } [] { @C₂ } X = O.opt (wp[O]⟦@C₁ X) (wp[O]⟦@C₂ X)
            @[simp]
            theorem pGCL.wp.tick_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {e X : State ΓENNReal} :
            @[simp]
            theorem pGCL.wp.observe_apply {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {b : BExpr Γ} {X : State ΓENNReal} :
            theorem pGCL.wp_le_wp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {σ : State Γ} {C : pGCL Γ} {a b : State ΓENNReal} (h : a b) :
            @[reducible, inline]
            noncomputable abbrev pGCL.dwp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] :
            pGCL Γ(State ΓENNReal) →o State ΓENNReal
            Equations
            Instances For
              @[reducible, inline]
              noncomputable abbrev pGCL.awp {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] :
              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
                    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
                        def pGCL.st {𝒱 : Type u_1} {Γ : 𝒱Type u_2} :
                        pGCL ΓpGCL Γ

                        Strip all ticks from a program.

                        Equations
                        Instances For
                          def pGCL.Ψ.continuous {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {b : BExpr Γ} {X : State ΓENNReal} {g : (State ΓENNReal) →o State ΓENNReal} (ih : OmegaCompletePartialOrder.ωScottContinuous g) :
                          Equations
                          • =
                          Instances For
                            def pGCL.Ψ.continuous' {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {b : BExpr Γ} {g : (State ΓENNReal) →o State ΓENNReal} :
                            Equations
                            • =
                            Instances For
                              theorem pGCL.Ψ_iSup {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {b : BExpr Γ} {g : (State ΓENNReal) →o State ΓENNReal} (f : State ΓENNReal) :
                              (Ψ[g] b) (⨆ (i : ), f i) = ⨆ (i : ), (Ψ[g] b) (f i)
                              theorem pGCL.Ψ_iSup' {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {b : BExpr Γ} {g : (State ΓENNReal) →o State ΓENNReal} (f : State ΓENNReal) :
                              ((Ψ[g] b) fun (a : State Γ) => ⨆ (i : ), f i a) = ⨆ (i : ), (Ψ[g] b) (f i)
                              theorem pGCL.ωScottContinuous_dual_iff {𝒱 : Type u_1} {Γ : 𝒱Type u_2} {f : (State ΓENNReal) →o State ΓENNReal} :
                              theorem pGCL.ωScottContinuous_dual_iff' {α : Type u_3} {ι : Type u_4} [CompleteLattice α] {f : (ια) →o ια} :
                              OmegaCompletePartialOrder.ωScottContinuous (OrderHom.dual f) ∀ (c : ια), Antitone cf (⨅ (i : ), c i) = ⨅ (i : ), f (c i)
                              Equations
                              • =
                              Instances For
                                @[simp]
                                def pGCL.wp.continuous {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} (C : pGCL Γ) :
                                Equations
                                • =
                                Instances For
                                  @[simp]
                                  def pGCL.Ψ.wp_continuous {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {b : BExpr Γ} {X : State ΓENNReal} {C' : pGCL Γ} :
                                  Equations
                                  • =
                                  Instances For
                                    theorem pGCL.wp_loop_eq_iter {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} {f : State ΓENNReal} (φ : BExpr Γ) (C' : pGCL Γ) :
                                    wp[O]⟦while @φ { @C' } f = ⨆ (n : ), (⇑((Ψ[wp[O]⟦@C'] φ) f))^[n] 0
                                    theorem pGCL.wp_le_one {𝒱 : Type u_1} {Γ : 𝒱Type u_2} [DecidableEq 𝒱] {O : Optimization} (C : pGCL Γ) (X : State ΓENNReal) (hX : X 1) :