Documentation

GibbsMeasure.Specification

Gibbs measures #

This file defines Gibbs measures.

def IsConsistent {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : (Λ : Finset S) → ProbabilityTheory.Kernel (SE) (SE)) :

A family of kernels γ is consistent if γ Λ₁ ∘ₖ γ Λ₂ = γ Λ₂ for all Λ₁ ⊆ Λ₂.

Morally, the LHS should be thought of as discovering Λ₁ then Λ₂, while the RHS should be thought of as discovering Λ₂ straight away.

Equations
Instances For
    structure Specification (S : Type u_1) (E : Type u_2) [MeasurableSpace E] :
    Type (max u_1 u_2)

    A specification from S to E is a collection of "boundary condition kernels" on the complement of finite sets, compatible under restriction.

    The term "boundary condition kernels" is chosen because for a Gibbs measure associated to a specification, the kernels of the specification are precisely the regular conditional probabilities of the Gibbs measure conditionally on the configurations in the complements of finite sets (which serve as "boundary conditions").

    • toFun (Λ : Finset S) : ProbabilityTheory.Kernel (SE) (SE)

      The boundary condition kernels of a specification.

      DO NOT USE. Instead use the coercion to function ⇑γ. Lean should insert it automatically in most cases.

    • isConsistent' : IsConsistent self.toFun

      The boundary condition kernels of a specification are consistent.

      DO NOT USE. Instead use Specification.isConsistent.

    Instances For
      @[implicit_reducible]
      instance Specification.instDFunLike {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} :
      DFunLike (Specification S E) (Finset S) fun (Λ : Finset S) => ProbabilityTheory.Kernel (SE) (SE)
      Equations
      theorem Specification.isConsistent {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) :

      The boundary condition kernels of a specification are consistent.

      theorem Specification.ext {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ₁ γ₂ : Specification S E} :
      (∀ (Λ : Finset S), γ₁ Λ = γ₂ Λ)γ₁ = γ₂
      theorem Specification.ext_iff {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ₁ γ₂ : Specification S E} :
      γ₁ = γ₂ ∀ (Λ : Finset S), γ₁ Λ = γ₂ Λ
      theorem Specification.bind {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {Λ₁ Λ₂ : Finset S} ( : Λ₁ Λ₂) (η : SE) :
      ((γ Λ₂) η).bind (γ Λ₁) = (γ Λ₂) η
      def Specification.IsIndep {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) :

      An independent specification is a specification γ where γ Λ₁ ∘ₖ γ Λ₂ = γ (Λ₁ ∪ Λ₂) for all Λ₁ Λ₂.

      Equations
      Instances For
        class Specification.IsMarkov {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) :

        A Markov specification is a specification whose boundary condition kernels are all Markov kernels.

        Instances
          def Specification.IsProper {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) :

          A specification is proper if all its boundary condition kernels are.

          Equations
          Instances For
            theorem Specification.isProper_iff_restrict_eq_indicator_smul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
            γ.IsProper ∀ (Λ : Finset S) ⦃B : Set (SE)⦄ (hB : MeasurableSet B) (x : SE), ((γ Λ).restrict ) x = B.indicator 1 x (γ Λ) x
            theorem Specification.isProper_iff_inter_eq_indicator_mul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
            γ.IsProper ∀ (Λ : Finset S) ⦃A : Set (SE)⦄, MeasurableSet A∀ ⦃B : Set (SE)⦄, MeasurableSet B∀ (η : SE), ((γ Λ) η) (A B) = B.indicator 1 η * ((γ Λ) η) A
            theorem Specification.IsProper.restrict_eq_indicator_smul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
            γ.IsProper∀ (Λ : Finset S) ⦃B : Set (SE)⦄ (hB : MeasurableSet B) (x : SE), ((γ Λ).restrict ) x = B.indicator 1 x (γ Λ) x

            Alias of the forward direction of Specification.isProper_iff_restrict_eq_indicator_smul.

            theorem Specification.IsProper.of_restrict_eq_indicator_smul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
            (∀ (Λ : Finset S) ⦃B : Set (SE)⦄ (hB : MeasurableSet B) (x : SE), ((γ Λ).restrict ) x = B.indicator 1 x (γ Λ) x)γ.IsProper

            Alias of the reverse direction of Specification.isProper_iff_restrict_eq_indicator_smul.

            theorem Specification.IsProper.inter_eq_indicator_mul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
            γ.IsProper∀ (Λ : Finset S) ⦃A : Set (SE)⦄ (_hA : MeasurableSet A) ⦃B : Set (SE)⦄ (_hB : MeasurableSet B) (η : SE), ((γ Λ) η) (A B) = B.indicator 1 η * ((γ Λ) η) A

            Alias of the forward direction of Specification.isProper_iff_inter_eq_indicator_mul.

            theorem Specification.IsProper.of_inter_eq_indicator_mul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
            (∀ (Λ : Finset S) ⦃A : Set (SE)⦄, MeasurableSet A∀ ⦃B : Set (SE)⦄, MeasurableSet B∀ (η : SE), ((γ Λ) η) (A B) = B.indicator 1 η * ((γ Λ) η) A)γ.IsProper

            Alias of the reverse direction of Specification.isProper_iff_inter_eq_indicator_mul.

            theorem Specification.IsProper.setLIntegral_eq_indicator_mul_lintegral {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {B : Set (SE)} {f : (SE)ENNReal} {η₀ : SE} ( : γ.IsProper) (Λ : Finset S) (hf : Measurable f) (hB : MeasurableSet B) :
            ∫⁻ (x : SE) in B, f x (γ Λ) η₀ = B.indicator 1 η₀ * ∫⁻ (x : SE), f x (γ Λ) η₀
            theorem Specification.IsProper.setLIntegral_inter_eq_indicator_mul_setLIntegral {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {A B : Set (SE)} {f : (SE)ENNReal} {η₀ : SE} (Λ : Finset S) ( : γ.IsProper) (hf : Measurable f) (hA : MeasurableSet A) (hB : MeasurableSet B) :
            ∫⁻ (x : SE) in A B, f x (γ Λ) η₀ = B.indicator 1 η₀ * ∫⁻ (x : SE) in A, f x (γ Λ) η₀
            theorem Specification.IsProper.lintegral_mul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {f g : (SE)ENNReal} {η₀ : SE} ( : γ.IsProper) (Λ : Finset S) (hf : Measurable f) (hg : Measurable g) :
            ∫⁻ (x : SE), g x * f x (γ Λ) η₀ = g η₀ * ∫⁻ (x : SE), f x (γ Λ) η₀
            def Specification.IsGibbsMeasure {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (μ : MeasureTheory.Measure (SE)) :

            For a specification γ, a Gibbs measure is a measure whose conditional expectation kernels conditionally on configurations exterior to finite sets agree with the boundary condition kernels of the specification γ.

            Equations
            Instances For
              theorem Specification.isGibbsMeasure_iff_forall_bind_eq {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {μ : MeasureTheory.Measure (SE)} ( : γ.IsProper) [MeasureTheory.IsFiniteMeasure μ] :
              γ.IsGibbsMeasure μ ∀ (Λ : Finset S), μ.bind (γ Λ) = μ
              theorem Specification.measurable_isssdFun {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) (Λ : Finset S) :
              Measurable fun (η : SE) => MeasureTheory.Measure.map (juxt (↑Λ) η) (MeasureTheory.Measure.pi fun (x : Λ) => ν)
              noncomputable def Specification.isssdFun {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) (Λ : Finset S) :
              ProbabilityTheory.Kernel (SE) (SE)

              Auxiliary definition for Specification.isssd.

              Equations
              Instances For
                @[simp]
                theorem Specification.isssdFun_apply {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) (Λ : Finset S) :
                (isssdFun ν Λ) = fun (η : SE) => MeasureTheory.Measure.map (juxt (↑Λ) η) (MeasureTheory.Measure.pi fun (x : Λ) => ν)
                theorem Specification.isssdFun_comp_isssdFun {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) [DecidableEq S] (Λ₁ Λ₂ : Finset S) :
                ((isssdFun ν Λ₁).comap id ).comp (isssdFun ν Λ₂) = (isssdFun ν (Λ₁ Λ₂)).comap id

                The ISSSD of a measure is strongly consistent.

                noncomputable def Specification.isssd {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) :

                The Independent Specification with Single Spin Distribution.

                This is the specification corresponding to the product measure.

                Equations
                Instances For
                  @[simp]
                  theorem Specification.isssd_apply {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) (Λ : Finset S) :
                  (isssd ν) Λ = isssdFun ν Λ
                  theorem Specification.isssd_comp_isssd {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (ν : MeasureTheory.Measure E) [DecidableEq S] (Λ₁ Λ₂ : Finset S) :
                  (((isssd ν) Λ₁).comap id ).comp ((isssd ν) Λ₂) = ((isssd ν) (Λ₁ Λ₂)).comap id

                  The ISSSD of a measure is strongly consistent.

                  The product measure ν ^ S is a isssd μ-Gibbs measure.

                  noncomputable def Specification.modificationKer {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : (Λ : Finset S) → ProbabilityTheory.Kernel (SE) (SE)) (ρ : Finset S(SE)ENNReal) ( : ∀ (Λ : Finset S), Measurable (ρ Λ)) (Λ : Finset S) :
                  ProbabilityTheory.Kernel (SE) (SE)

                  The kernel of a modification specification.

                  Modifying the specification γ by a family indexed by finsets Λ : Finset S of densities ρ Λ : (S → E) → ℝ≥0∞ results in a family of kernels γ.modificationKer ρ _ Λ whose density is that of γ Λ multiplied by ρ Λ.

                  This is an auxiliary definition for Specification.modification, which you should generally use instead of Specification.modificationKer.

                  Equations
                  Instances For
                    @[simp]
                    theorem Specification.modificationKer_apply {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : (Λ : Finset S) → ProbabilityTheory.Kernel (SE) (SE)) (ρ : Finset S(SE)ENNReal) ( : ∀ (Λ : Finset S), Measurable (ρ Λ)) (Λ : Finset S) (η : SE) :
                    (modificationKer γ ρ Λ) η = ((γ Λ) η).withDensity (ρ Λ)
                    @[simp]
                    theorem Specification.modificationKer_one' {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : (Λ : Finset S) → ProbabilityTheory.Kernel (SE) (SE)) :
                    modificationKer γ (fun ( : Finset S) ( : SE) => 1) = γ
                    @[simp]
                    theorem Specification.modificationKer_one {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : (Λ : Finset S) → ProbabilityTheory.Kernel (SE) (SE)) :
                    modificationKer γ 1 = γ
                    structure Specification.IsModifier {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (ρ : Finset S(SE)ENNReal) :

                    A modifier of a specification γ is a family indexed by finsets Λ : Finset S of densities ρ Λ : (S → E) → ℝ≥0∞ such that:

                    • Each ρ Λ is measurable.
                    • γ.modificationKer ρ (informally, ρ * γ) is consistent.
                    Instances For
                      theorem Specification.isModifier_iff {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (ρ : Finset S(SE)ENNReal) :
                      γ.IsModifier ρ ∃ (measurable : ∀ (Λ : Finset S), Measurable (ρ Λ)), IsConsistent (modificationKer (⇑γ) ρ measurable)
                      @[simp]
                      theorem Specification.IsModifier.one' {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
                      γ.IsModifier fun ( : Finset S) ( : SE) => 1
                      @[simp]
                      theorem Specification.IsModifier.one {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} :
                      theorem Specification.isModifier_iff_ae_eq {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {ρ : Finset S(SE)ENNReal} ( : γ.IsProper) :
                      γ.IsModifier ρ (∀ (Λ : Finset S), Measurable (ρ Λ)) ∀ ⦃Λ₁ Λ₂ : Finset S⦄, Λ₁ Λ₂∀ (η : SE), ρ Λ₂ =ᵐ[(γ Λ₂) η] fun (η : SE) => ∫⁻ (ζ : SE), ρ Λ₂ ζ ((γ Λ₁) η).withDensity (ρ Λ₁)
                      theorem Specification.isModifier_iff_ae_comm {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {ρ : Finset S(SE)ENNReal} [DecidableEq S] :
                      γ.IsModifier ρ (∀ (Λ : Finset S), Measurable (ρ Λ)) ∀ ⦃Λ₁ Λ₂ : Finset S⦄, Λ₁ Λ₂∀ (η₁ : SE), ∀ᵐ (η₂ : SE) (γ (Λ₂ \ Λ₁)) η₁, ∀ᵐ (ζ : (SE) × (SE)) ((γ Λ₁) η₂).prod ((γ Λ₂) η₂), ρ Λ₂ ζ.1 * ρ Λ₁ ζ.2 = ρ Λ₂ ζ.2 * ρ Λ₁ ζ.1
                      noncomputable def Specification.modification {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (ρ : Finset S(SE)ENNReal) ( : γ.IsModifier ρ) :

                      Modification specification.

                      Modifying the specification γ by a family indexed by finsets Λ : Finset S of densities ρ Λ : (S → E) → ℝ≥0∞ results in a family of kernels γ.modificationKer ρ _ Λ whose density is that of γ Λ multiplied by ρ Λ.

                      When the family of densities ρ is a modifier (Specification.IsModifier), modifying a specification results in a specification γ.modification ρ _.

                      Equations
                      Instances For
                        theorem Specification.coe_modification {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (ρ : Finset S(SE)ENNReal) ( : γ.IsModifier ρ) :
                        (γ.modification ρ ) = modificationKer (⇑γ) ρ
                        @[simp]
                        theorem Specification.modification_apply {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (ρ : Finset S(SE)ENNReal) ( : γ.IsModifier ρ) (Λ : Finset S) (η : SE) :
                        ((γ.modification ρ ) Λ) η = ((γ Λ) η).withDensity (ρ Λ)
                        @[simp]
                        theorem Specification.modificationKer_modification {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {ρ₁ ρ₂ : Finset S(SE)ENNReal} (hρ₁ : γ.IsModifier ρ₁) (hρ₂ : ∀ (Λ : Finset S), Measurable (ρ₂ Λ)) :
                        modificationKer (⇑(γ.modification ρ₁ hρ₁)) ρ₂ hρ₂ = modificationKer (⇑γ) (ρ₁ * ρ₂)
                        @[simp]
                        theorem Specification.IsModifier.mul {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {ρ₁ ρ₂ : Finset S(SE)ENNReal} (hρ₁ : γ.IsModifier ρ₁) (hρ₂ : (γ.modification ρ₁ hρ₁).IsModifier ρ₂) :
                        γ.IsModifier (ρ₁ * ρ₂)
                        @[simp]
                        theorem Specification.modification_one' {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) :
                        γ.modification (fun ( : Finset S) ( : SE) => 1) = γ
                        @[simp]
                        theorem Specification.modification_one {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) :
                        γ.modification 1 = γ
                        @[simp]
                        theorem Specification.modification_modification {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} (γ : Specification S E) (ρ₁ ρ₂ : Finset S(SE)ENNReal) (hρ₁ : γ.IsModifier ρ₁) (hρ₂ : (γ.modification ρ₁ hρ₁).IsModifier ρ₂) :
                        (γ.modification ρ₁ hρ₁).modification ρ₂ hρ₂ = γ.modification (ρ₁ * ρ₂)
                        theorem Specification.IsProper.modification {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {γ : Specification S E} {ρ : Finset S(SE)ENNReal} ( : γ.IsProper) { : γ.IsModifier ρ} :
                        structure Specification.IsPremodifier {S : Type u_1} {E : Type u_2} [MeasurableSpace E] (ρ : Finset S(SE)ENNReal) :

                        A premodifier is a family indexed by finsets Λ : Finset S of densities ρ Λ : (S → E) → ℝ≥0∞ such that:

                        • each ρ Λ is measurable,
                        • ρ Λ₂ ζ * ρ Λ₁ η = ρ Λ₁ ζ * ρ Λ₂ η for all Λ₁ Λ₂ : Finset S and ζ η : S → E such that Λ₁ ⊆ Λ₂ and ∀ (s : Λ₁ᶜ), ζ s = η s.
                        • measurable (Λ : Finset S) : Measurable (ρ Λ)
                        • comm_of_subset Λ₁ Λ₂ : Finset S ζ η : SE ( : Λ₁ Λ₂) (hrestrict : sΛ₁, ζ s = η s) : ρ Λ₂ ζ * ρ Λ₁ η = ρ Λ₁ ζ * ρ Λ₂ η
                        Instances For
                          theorem Specification.IsPremodifier.isModifier_div {S : Type u_1} {E : Type u_2} {mE : MeasurableSpace E} {ρ : Finset S(SE)ENNReal} ( : IsPremodifier ρ) (ν : MeasureTheory.Measure E) [MeasureTheory.IsProbabilityMeasure ν] :
                          (isssd ν).IsModifier fun (Λ : Finset S) (σ : SE) => ρ Λ σ / ∫⁻ (x : SE), ρ Λ x ((isssd ν) Λ) σ