Documentation

Paper

Definitions, lemmas and theorems listed in order #

This file contains links to all definitions, lemmas and theorems from the paper.

They are listed roughly in the order they appear in the paper. This file should serve as a jumping off point to navigate and explore the formalization, and not as a reference to how things are defined. We invite the reader to click on the names in each definition to jump to their original definition. In Visual Studio Code one can Ctrl/CMD+Click on symbols to jump to their definition.

See Links for a glossary of list things listed in the paper, including Mathlib definitions.

Section 4 – Expected Total Costs in Markov Decision Processes #

Equations
Instances For
    theorem Paper.Section4.Theorem3 {S : Type u_5} [DecidableEq S] {MC : MarkovChain S} :
    LinkThm (∀ (π : MC.Path), MarkovChain.Pr π.Cyl = i : Fin (π.length - 1), (MC.P π.states[i]) π.states[i + 1])
    def Paper.Section4.Definition5 {S : Type u_5} {A : Type u_6} {M : MDP S A} :
    Equations
    Instances For
      theorem Paper.Section4.Theorem6 {S : Type u_5} {A : Type u_6} [DecidableEq S] {M : MDP S A} [M.FiniteBranching] {𝒮 : 𝔖[M]} :
      LinkThm (∀ (π : M.Path) (h' : MDP.Path.Prob 𝒮 π 0), MarkovChain.Pr (π.toMC' h' ).Cyl = MDP.Path.Prob 𝒮 π)
      def Paper.Section4.Definition7 {S : Type u_5} {A : Type u_6} {M : MDP S A} :
      Equations
      Instances For
        def Paper.Section4.Definition8 {S : Type u_5} {A : Type u_6} {M : MDP S A} :
        Equations
        Instances For
          def Paper.Section4.Definition10 {S : Type u_5} {A : Type u_6} {M : MDP S A} :
          Equations
          Instances For
            theorem Paper.Section4.Theorem12 {S : Type u_5} {A : Type u_6} [DecidableEq S] {M : MDP S A} [M.FiniteBranching] {c : M.Costs} :
            LinkThm (⨆ (n : ), ⨆ (𝒮 : 𝔖[M]), MDP.EC c 𝒮 n = OrderHom.lfp (MDP.Φ Optimization.Angelic c))
            theorem Paper.Section4.Lemma14 {S : Type u_5} {A : Type u_6} [DecidableEq S] {M : MDP S A} [M.FiniteBranching] {c : M.Costs} :
            LinkLem (⨆ (n : ), ⨅ (𝒮 : 𝔖[M]), MDP.EC c 𝒮 n = OrderHom.lfp (MDP.Φ Optimization.Demonic c))
            def Paper.Section4.Definition15 {S : Type u_5} {A : Type u_6} {M : MDP S A} :
            Equations
            Instances For
              theorem Paper.Section4.Lemma16 {S : Type u_5} {A : Type u_6} [DecidableEq S] {M : MDP S A} [M.FiniteBranching] {c : M.Costs} :
              LinkLem (∀ ( : 𝔏[M]) [M.FiniteBranching], ⨆ (n : ), MDP.EC c (↑) n = MDP.lfp_Φℒ c)
              def Paper.Section4.Definition17 {S : Type u_5} {A : Type u_6} {M : MDP S A} [M.FiniteBranching] :
              Equations
              Instances For
                theorem Paper.Section4.Theorem19 {S : Type u_5} {A : Type u_6} [DecidableEq S] {M : MDP S A} [M.FiniteBranching] {c : M.Costs} :
                LinkThm (⨅ (𝒮 : 𝔖[M]), ⨆ (n : ), MDP.EC c 𝒮 n = OrderHom.lfp (MDP.Φ Optimization.Demonic c))

                Section 5 – pGCL: probabilistic Guarded Command Language #

                def Paper.Section5.Definition20 {𝒱 : Type u_1} {Γ : 𝒱Type u_2} :
                Equations
                Instances For
                  def Paper.Section5.Definition21 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} :
                  Equations
                  Instances For
                    def Paper.Section5.Definition22 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} :
                    Equations
                    Instances For

                      In Lean the cost functions are split for programs and terminations where ct = cost_p, cost_t and cp = cost_p', cost_t'.

                      Equations
                      Instances For
                        Equations
                        Instances For
                          theorem Paper.Section5.Lemma25 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {f : (pGCL.State ΓENNReal) →o pGCL.Termination × pGCL.State ΓENNReal} {g : pGCL Γ × pGCL.State ΓENNReal} [O.ΦContinuous SmallStepSemantics.mdp] {C C' : pGCL Γ} :
                          LinkLem (∀ (seq : pGCL ΓpGCL ΓpGCL Γ) (after : pGCL Γ(pGCL Γ pGCL.Termination) × pGCL.State Γ → (pGCL Γ pGCL.Termination) × pGCL.State Γ) (t_const : pGCL.State ΓENNReal), (∀ (C C' : pGCL Γ) (σ : pGCL.State Γ), SmallStepSemantics.cost_p pGCL.Termination pGCL.Act (seq C C', σ) = SmallStepSemantics.cost_p pGCL.Termination pGCL.Act (C, σ))(∀ (C C' : pGCL Γ) (σ : pGCL.State Γ), SmallStepSemantics.act (Conf.prog (seq C C') σ) = SmallStepSemantics.act (Conf.prog C σ))(∀ {C C' : pGCL Γ} {σ : pGCL.State Γ} {p : ENNReal} {α : pGCL.Act} {s : (pGCL Γ pGCL.Termination) × pGCL.State Γ}, (p, s) SmallStepSemantics.psucc C σ α(p, after C' s) SmallStepSemantics.psucc (seq C C') σ α)(∀ {C C' : pGCL Γ} {σ : pGCL.State Γ}, after C' (Sum.inl C, σ) = (Sum.inl (seq C C'), σ))(∀ {t : pGCL.Termination} {C : pGCL Γ} {C' : (pGCL Γ pGCL.Termination) × pGCL.State Γ} {σ : pGCL.State Γ}, after C (Sum.inr t, σ) = C'C' = (Sum.inl C, σ) C' = (Sum.inr t, σ) ∀ (X : pGCL.State ΓENNReal), (SmallStepSemantics.cost_t (pGCL Γ) pGCL.Act) X (t, σ) = t_const σ)(∀ {X : pGCL.State ΓENNReal} {t : pGCL.Termination} {σ : pGCL.State Γ} {C' : pGCL Γ}, after C' (Sum.inr t, σ) = (Sum.inl C', σ)(SmallStepSemantics.cost_t (pGCL Γ) pGCL.Act) ((SmallStepSemantics.op O C') X) (t, σ) (SmallStepSemantics.op O C') X σ)(∀ (x : pGCL Γ), Function.Injective (after x))(SmallStepSemantics.op O C) (SmallStepSemantics.op O C') (SmallStepSemantics.op O (seq C C')))
                          Equations
                          Instances For
                            theorem Paper.Section5.Lemma28 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {f : (pGCL.State ΓENNReal) →o pGCL.Termination × pGCL.State ΓENNReal} {g : pGCL Γ × pGCL.State ΓENNReal} [O.ΦContinuous SmallStepSemantics.mdp] {et : pGCL Γ(pGCL.State ΓENNReal) →o pGCL.State ΓENNReal} [(pGCL.𝕊 f g).ET O et] :
                            theorem Paper.Section5.Lemma29 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {C₁ C₂ : pGCL Γ} :
                            theorem Paper.Section5.Theorem30 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {C : pGCL Γ} :
                            def Paper.Section5.Definition31 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} :
                            Equations
                            Instances For
                              theorem Paper.Section5.Lemma32 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {C : pGCL Γ} :
                              theorem Paper.Section5.Theorem33 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {C : pGCL Γ} :
                              LinkThm (∀ (X : pGCL.ProbExp Γ), wlp'[O]⟦@C X = 1 - wfp'[O.dual]⟦@C (1 - X))
                              theorem Paper.Section5.Lemma34 {α : Type u_3} [CompleteLattice α] {Δ : α →o α} {f' : α} :
                              LinkLem ((∀ (k : ), Δ ((fun (x : α) => Δ xf')^[k] f') f'OrderHom.lfp Δ f') ×' ∀ (k : ), f' Δ ((fun (x : α) => Δ xf')^[k] f')f' OrderHom.gfp Δ)
                              theorem Paper.Section5.Theorem35 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {b : pGCL.BExpr Γ} {C : pGCL Γ} {φ I : pGCL.State ΓENNReal} :
                              LinkThm (∀ (k : ), pGCL.ParkKInvariant wp[O]⟦@C b φ k Iwp[O]⟦while @b { @C } φ I)
                              theorem Paper.Section5.Theorem36 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {b : pGCL.BExpr Γ} {C : pGCL Γ} {φ I : pGCL.ProbExp Γ} :
                              def Paper.Section5.Definition37 {𝒱 : Type u_1} {Γ : 𝒱Type u_2} :
                              Equations
                              Instances For
                                theorem Paper.Section5.Theorem38 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {b : pGCL.BExpr Γ} {C : pGCL Γ} {φ I : pGCL.State ΓENNReal} {σ₀ : pGCL.State Γ} :
                                LinkThm (pGCL.IdleInvariant wp[O]⟦@C b φ I (~ C.mods) σ₀wp[O]⟦while @b { @C } φ σ₀ I σ₀)
                                theorem Paper.Section5.Theorem39 {𝒱 : Type u_1} [DecidableEq 𝒱] {Γ : 𝒱Type u_2} {O : Optimization} {b : pGCL.BExpr Γ} {C : pGCL Γ} {φ I : pGCL.State ΓENNReal} {σ₀ : pGCL.State Γ} :
                                LinkThm (pGCL.IdleCoinvariant wlp[O]⟦@C b φ I (~ C.mods) σ₀I 1φ 1I σ₀ wlp[O]⟦while @b { @C } φ σ₀)

                                Section 6 – Sound Encodings into an Intermediate Verification Language #