Documentation

Mathlib.MeasureTheory.Lattice

Typeclasses for measurability of lattice operations #

In this file we define classes MeasurableSup and MeasurableInf and prove dot-style lemmas (Measurable.sup, AEMeasurable.sup etc). For binary operations we define two typeclasses:

and similarly for other binary operations. The reason for introducing these classes is that in case of topological space α equipped with the Borel σ-algebra, instances for MeasurableSup₂ etc require α to have a second countable topology.

For instances relating, e.g., ContinuousSup to MeasurableSup see file MeasureTheory.BorelSpace.

Tags #

measurable function, lattice operation

class MeasurableSup (M : Type u_1) [MeasurableSpace M] [Sup M] :

We say that a type has MeasurableSup if (c ⊔ ·) and (· ⊔ c) are measurable functions. For a typeclass assuming measurability of uncurry (· ⊔ ·) see MeasurableSup₂.

Instances
    class MeasurableSup₂ (M : Type u_1) [MeasurableSpace M] [Sup M] :

    We say that a type has MeasurableSup₂ if uncurry (· ⊔ ·) is a measurable functions. For a typeclass assuming measurability of (c ⊔ ·) and (· ⊔ c) see MeasurableSup.

    Instances
      class MeasurableInf (M : Type u_1) [MeasurableSpace M] [Inf M] :

      We say that a type has MeasurableInf if (c ⊓ ·) and (· ⊓ c) are measurable functions. For a typeclass assuming measurability of uncurry (· ⊓ ·) see MeasurableInf₂.

      Instances
        class MeasurableInf₂ (M : Type u_1) [MeasurableSpace M] [Inf M] :

        We say that a type has MeasurableInf₂ if uncurry (· ⊓ ·) is a measurable functions. For a typeclass assuming measurability of (c ⊓ ·) and (· ⊓ c) see MeasurableInf.

        Instances
          theorem Measurable.const_sup {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} [Sup M] [MeasurableSup M] (hf : Measurable f) (c : M) :
          Measurable fun x => c f x
          theorem AEMeasurable.const_sup {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} [Sup M] [MeasurableSup M] (hf : AEMeasurable f) (c : M) :
          AEMeasurable fun x => c f x
          theorem Measurable.sup_const {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} [Sup M] [MeasurableSup M] (hf : Measurable f) (c : M) :
          Measurable fun x => f x c
          theorem AEMeasurable.sup_const {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} [Sup M] [MeasurableSup M] (hf : AEMeasurable f) (c : M) :
          AEMeasurable fun x => f x c
          theorem Measurable.sup' {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} {g : αM} [Sup M] [MeasurableSup₂ M] (hf : Measurable f) (hg : Measurable g) :
          theorem Measurable.sup {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} {g : αM} [Sup M] [MeasurableSup₂ M] (hf : Measurable f) (hg : Measurable g) :
          Measurable fun a => f a g a
          theorem AEMeasurable.sup' {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} {g : αM} [Sup M] [MeasurableSup₂ M] (hf : AEMeasurable f) (hg : AEMeasurable g) :
          theorem AEMeasurable.sup {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} {g : αM} [Sup M] [MeasurableSup₂ M] (hf : AEMeasurable f) (hg : AEMeasurable g) :
          AEMeasurable fun a => f a g a
          theorem Measurable.const_inf {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} [Inf M] [MeasurableInf M] (hf : Measurable f) (c : M) :
          Measurable fun x => c f x
          theorem AEMeasurable.const_inf {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} [Inf M] [MeasurableInf M] (hf : AEMeasurable f) (c : M) :
          AEMeasurable fun x => c f x
          theorem Measurable.inf_const {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} [Inf M] [MeasurableInf M] (hf : Measurable f) (c : M) :
          Measurable fun x => f x c
          theorem AEMeasurable.inf_const {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} [Inf M] [MeasurableInf M] (hf : AEMeasurable f) (c : M) :
          AEMeasurable fun x => f x c
          theorem Measurable.inf' {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} {g : αM} [Inf M] [MeasurableInf₂ M] (hf : Measurable f) (hg : Measurable g) :
          theorem Measurable.inf {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {f : αM} {g : αM} [Inf M] [MeasurableInf₂ M] (hf : Measurable f) (hg : Measurable g) :
          Measurable fun a => f a g a
          theorem AEMeasurable.inf' {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} {g : αM} [Inf M] [MeasurableInf₂ M] (hf : AEMeasurable f) (hg : AEMeasurable g) :
          theorem AEMeasurable.inf {M : Type u_1} [MeasurableSpace M] {α : Type u_2} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} {f : αM} {g : αM} [Inf M] [MeasurableInf₂ M] (hf : AEMeasurable f) (hg : AEMeasurable g) :
          AEMeasurable fun a => f a g a
          theorem Finset.measurable_sup' {α : Type u_2} {m : MeasurableSpace α} {δ : Type u_3} [MeasurableSpace δ] [SemilatticeSup α] [MeasurableSup₂ α] {ι : Type u_4} {s : Finset ι} (hs : Finset.Nonempty s) {f : ιδα} (hf : ∀ (n : ι), n sMeasurable (f n)) :
          theorem Finset.measurable_range_sup' {α : Type u_2} {m : MeasurableSpace α} {δ : Type u_3} [MeasurableSpace δ] [SemilatticeSup α] [MeasurableSup₂ α] {f : δα} {n : } (hf : ∀ (k : ), k nMeasurable (f k)) :
          theorem Finset.measurable_range_sup'' {α : Type u_2} {m : MeasurableSpace α} {δ : Type u_3} [MeasurableSpace δ] [SemilatticeSup α] [MeasurableSup₂ α] {f : δα} {n : } (hf : ∀ (k : ), k nMeasurable (f k)) :
          Measurable fun x => Finset.sup' (Finset.range (n + 1)) (_ : Finset.Nonempty (Finset.range (n + 1))) fun k => f k x