Measurable spaces and measurable functions #
This file provides properties of measurable spaces and the functions and isomorphisms between them.
The definition of a measurable space is in Mathlib/MeasureTheory/MeasurableSpace/Defs.lean.
A measurable space is a set equipped with a σ-algebra, a collection of subsets closed under complementation and countable union. A function between measurable spaces is measurable if the preimage of each measurable subset is measurable.
σ-algebras on a fixed set α form a complete lattice. Here we order
σ-algebras by writing m₁ ≤ m₂ if every set which is m₁-measurable is
also m₂-measurable (that is, m₁ is a subset of m₂). In particular, any
collection of subsets of α generates a smallest σ-algebra which
contains all of them. A function f : α → β induces a Galois connection
between the lattices of σ-algebras on α and β.
A measurable equivalence between measurable spaces is an equivalence which respects the σ-algebras, that is, for which both directions of the equivalence are measurable functions.
We say that a filter f is measurably generated if every set s ∈ f includes a measurable
set t ∈ f. This property is useful, e.g., to extract a measurable witness of Filter.Eventually.
Notation #
- We write
α ≃ᵐ βfor measurable equivalences between the measurable spacesαandβ. This should not be confused with≃ₘwhich is used for diffeomorphisms between manifolds.
Implementation notes #
Measurability of a function f : α → β between measurable spaces is
defined in terms of the Galois connection induced by f.
References #
Tags #
measurable space, σ-algebra, measurable function, measurable equivalence, dynkin system, π-λ theorem, π-system
The forward image of a measurable space under a function. map f m contains the sets
s : Set β whose preimage under f is measurable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The reverse image of a measurable space under a function. comap f m contains the sets
s : Set α such that s is the f-preimage of a measurable set in β.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of the forward direction of measurable_iff_le_map.
Alias of the reverse direction of measurable_iff_le_map.
Alias of the reverse direction of measurable_iff_comap_le.
Alias of the forward direction of measurable_iff_comap_le.
A version of measurable_const that assumes f x = f y for all x, y. This version works
for functions between empty types.
This is slightly different from Measurable.piecewise. It can be used to show
Measurable (ite (x=0) 0 1) by
exact Measurable.ite (measurableSet_singleton 0) measurable_const measurable_const,
but replacing Measurable.ite by Measurable.piecewise in that example proof does not work.
The measurability of a set A is equivalent to the measurability of the indicator function
which takes a constant value b ≠ 0 on a set A and 0 elsewhere.
If a function coincides with a measurable function outside of a countable set, it is measurable.
Equations
Equations
Equations
Equations
- (_ : MeasurableSingletonClass α) = (_ : MeasurableSingletonClass α)
Equations
- (_ : MeasurableSingletonClass (Fin n)) = (_ : MeasurableSingletonClass (Fin n))
Equations
- ULift.instMeasurableSpace = MeasurableSpace.map ULift.up inst
Equations
- Quot.instMeasurableSpace = MeasurableSpace.map (Quot.mk r) m
Equations
- Quotient.instMeasurableSpace = MeasurableSpace.map Quotient.mk'' m
Equations
- QuotientAddGroup.measurableSpace S = Quotient.instMeasurableSpace
Equations
- QuotientGroup.measurableSpace S = Quotient.instMeasurableSpace
Equations
- Subtype.instMeasurableSpace = MeasurableSpace.comap Subtype.val m
Equations
- (_ : MeasurableSingletonClass (Subtype p)) = (_ : MeasurableSingletonClass (Subtype p))
Alias of Measurable.subtype_coe.
A MeasurableSpace structure on the product of two measurable spaces.
Equations
- MeasurableSpace.prod m₁ m₂ = MeasurableSpace.comap Prod.fst m₁ ⊔ MeasurableSpace.comap Prod.snd m₂
Instances For
Equations
- Prod.instMeasurableSpace = MeasurableSpace.prod m₁ m₂
Equations
- (_ : MeasurableSingletonClass (α × β)) = (_ : MeasurableSingletonClass (α × β))
A piecewise function on countably many pieces is measurable if all the data is measurable.
Let t i be a countable covering of a set T by measurable sets. Let f i : t i → β be a
family of functions that agree on the intersections t i ∩ t j. Then the function
Set.iUnionLift t f _ _ : T → β, defined as f i ⟨x, hx⟩ for hx : x ∈ t i, is measurable.
Let t i be a countable covering of α by measurable sets. Let f i : t i → β be a family of
functions that agree on the intersections t i ∩ t j. Then the function Set.liftCover t f _ _,
defined as f i ⟨x, hx⟩ for hx : x ∈ t i, is measurable.
Let t i be a nonempty countable family of measurable sets in α. Let g i : α → β be a
family of measurable functions such that g i agrees with g j on t i ∩ t j. Then there exists
a measurable function f : α → β that agrees with each g i on t i.
We only need the assumption [Nonempty ι] to prove [Nonempty (α → β)].
Given countably many disjoint measurable sets t n and countably many measurable
functions g n, one can construct a measurable function that coincides with g n on t n.
Equations
- MeasurableSpace.pi = ⨆ (a : δ), MeasurableSpace.comap (fun (b : (a : δ) → π a) => b a) (m a)
The function (f, x) ↦ update f a x : (Π a, π a) × π a → Π a, π a is measurable.
The function update f a : π a → Π a, π a is always measurable.
This doesn't require f to be measurable.
This should not be confused with the statement that update f a x is measurable.
Equations
- (_ : MeasurableSingletonClass ((a : δ) → π a)) = (_ : MeasurableSingletonClass ((a : δ) → π a))
Equations
- TProd.instMeasurableSpace π [] = PUnit.instMeasurableSpace
- TProd.instMeasurableSpace π (head :: is) = Prod.instMeasurableSpace
Equations
- Sum.instMeasurableSpace = MeasurableSpace.map Sum.inl m₁ ⊓ MeasurableSpace.map Sum.inr m₂
Alias of the reverse direction of measurableSet_inl_image.
Alias of the reverse direction of measurableSet_inr_image.
Equations
- Sigma.instMeasurableSpace = ⨅ (a : α), MeasurableSpace.map (Sigma.mk a) (m a)
Alias of the reverse direction of measurableSet_setOf.
Alias of the reverse direction of measurable_mem.
This instance is useful when talking about Bernoulli sequences of random variables or binomial random graphs.
Equations
- (_ : MeasurableSingletonClass (Set α)) = (_ : MeasurableSingletonClass (Set α))
The sigma-algebra generated by a single set s is {∅, s, sᶜ, univ}.
A map f : α → β is called a measurable embedding if it is injective, measurable, and sends
measurable sets to measurable sets. The latter assumption can be replaced with “f has measurable
inverse g : Set.range f → α”, see MeasurableEmbedding.measurable_rangeSplitting,
MeasurableEmbedding.of_measurable_inverse_range, and
MeasurableEmbedding.of_measurable_inverse.
One more interpretation: f is a measurable embedding if it defines a measurable equivalence to its
range and the range is a measurable set. One implication is formalized as
MeasurableEmbedding.equivRange; the other one follows from
MeasurableEquiv.measurableEmbedding, MeasurableEmbedding.subtype_coe, and
MeasurableEmbedding.comp.
- injective : Function.Injective f
A measurable embedding is injective.
- measurable : Measurable f
A measurable embedding is a measurable function.
- measurableSet_image' : ∀ ⦃s : Set α⦄, MeasurableSet s → MeasurableSet (f '' s)
The image of a measurable set under a measurable embedding is a measurable set.
Instances For
Equivalences between measurable spaces. Main application is the simplification of measurability statements along measurable equivalences.
- toFun : α → β
- invFun : β → α
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
- measurable_toFun : Measurable ⇑self.toEquiv
The forward function of a measurable equivalence is measurable.
- measurable_invFun : Measurable ⇑self.symm
The inverse function of a measurable equivalence is measurable.
Instances For
Equivalences between measurable spaces. Main application is the simplification of measurability statements along measurable equivalences.
Equations
- «term_≃ᵐ_» = Lean.ParserDescr.trailingNode `term_≃ᵐ_ 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃ᵐ ") (Lean.ParserDescr.cat `term 26))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Any measurable space is equivalent to itself.
Equations
- MeasurableEquiv.refl α = { toEquiv := Equiv.refl α, measurable_toFun := (_ : Measurable id), measurable_invFun := (_ : Measurable id) }
Instances For
Equations
- MeasurableEquiv.instInhabited = { default := MeasurableEquiv.refl α }
The composition of equivalences between measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse of an equivalence between measurable spaces.
Equations
- ab.symm = { toEquiv := ab.symm, measurable_toFun := (_ : Measurable ⇑ab.symm), measurable_invFun := (_ : Measurable ⇑ab.toEquiv) }
Instances For
See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.
Equations
Instances For
See Note [custom simps projection]
Equations
- MeasurableEquiv.Simps.symm_apply h = ⇑h.symm
Instances For
A measurable equivalence is a measurable embedding.
Equal measurable spaces are equivalent.
Equations
- MeasurableEquiv.cast h hi = { toEquiv := Equiv.cast h, measurable_toFun := (_ : Measurable ⇑(Equiv.cast h)), measurable_invFun := (_ : Measurable ⇑(Equiv.cast h).symm) }
Instances For
Measurable equivalence between ULift α and α.
Equations
- MeasurableEquiv.ulift = { toEquiv := Equiv.ulift, measurable_toFun := (_ : Measurable ULift.down), measurable_invFun := (_ : Measurable ULift.up) }
Instances For
Any two types with unique elements are measurably equivalent.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products of equivalent measurable spaces are equivalent.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products of measurable spaces are symmetric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products of measurable spaces are associative.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Sums of measurable spaces are symmetric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s ×ˢ t ≃ (s × t) as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
univ α ≃ α as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
{a} ≃ Unit as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
α is equivalent to its image in α ⊕ β as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
β is equivalent to its image in α ⊕ β as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products distribute over sums (on the right) as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products distribute over sums (on the left) as measurable spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products distribute over sums as measurable spaces.
Equations
- MeasurableEquiv.sumProdSum α β γ δ = (MeasurableEquiv.sumProdDistrib α β (γ ⊕ δ)).trans (MeasurableEquiv.sumCongr (MeasurableEquiv.prodSumDistrib α γ δ) (MeasurableEquiv.prodSumDistrib β γ δ))
Instances For
A family of measurable equivalences Π a, β₁ a ≃ᵐ β₂ a generates a measurable equivalence
between Π a, β₁ a and Π a, β₂ a.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Moving a dependent type along an equivalence of coordinates, as a measurable equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pi-types are measurably equivalent to iterated products.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The measurable equivalence (∀ i, π i) ≃ᵐ π ⋆ when the domain of π only contains ⋆
Equations
- MeasurableEquiv.piUnique π = { toEquiv := Equiv.piUnique π, measurable_toFun := (_ : Measurable fun (f : (a : δ') → π a) => f default), measurable_invFun := (_ : Measurable uniqueElim) }
Instances For
If α has a unique term, then the type of function α → β is measurably equivalent to β.
Equations
- MeasurableEquiv.funUnique α β = MeasurableEquiv.piUnique fun (a : α) => β
Instances For
The space Π i : Fin 2, α i is measurably equivalent to α 0 × α 1.
Equations
- MeasurableEquiv.piFinTwo α = { toEquiv := piFinTwoEquiv α, measurable_toFun := (_ : Measurable ⇑(piFinTwoEquiv α)), measurable_invFun := (_ : Measurable ⇑(piFinTwoEquiv α).symm) }
Instances For
The space Fin 2 → α is measurably equivalent to α × α.
Equations
- MeasurableEquiv.finTwoArrow = MeasurableEquiv.piFinTwo fun (x : Fin 2) => α
Instances For
Measurable equivalence between Π j : Fin (n + 1), α j and
α i × Π j : Fin n, α (Fin.succAbove i j).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Measurable equivalence between (dependent) functions on a type and pairs of functions on
{i // p i} and {i // ¬p i}. See also Equiv.piEquivPiSubtypeProd.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The measurable equivalence between the pi type over a sum type and a product of pi-types.
This is similar to MeasurableEquiv.piEquivPiSubtypeProd.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The measurable equivalence (∀ i : s, π i) × (∀ i : t, π i) ≃ᵐ (∀ i : s ∪ t, π i)
for disjoint finsets s and t. Equiv.piFinsetUnion as a measurable equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If s is a measurable set in a measurable space, that space is equivalent
to the sum of s and sᶜ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convert a measurable involutive function f to a measurable permutation with
toFun = invFun = f. See also Function.Involutive.toPerm.
Equations
- MeasurableEquiv.ofInvolutive f hf hf' = { toEquiv := Function.Involutive.toPerm f hf, measurable_toFun := hf', measurable_invFun := hf' }
Instances For
A set is equivalent to its image under a function f as measurable spaces,
if f is a measurable embedding
Equations
- One or more equations did not get rendered due to their size.
Instances For
The domain of f is equivalent to its range as measurable spaces,
if f is a measurable embedding
Equations
- One or more equations did not get rendered due to their size.
Instances For
The measurable Schröder-Bernstein Theorem: given measurable embeddings
α → β and β → α, we can find a measurable equivalence α ≃ᵐ β.
Equations
- One or more equations did not get rendered due to their size.
Instances For
We say a measurable space is countably generated if it can be generated by a countable set of sets.
- isCountablyGenerated : ∃ (b : Set (Set α)), Set.Countable b ∧ m = MeasurableSpace.generateFrom b
Instances
Equations
- (_ : MeasurableSpace.CountablyGenerated α) = (_ : MeasurableSpace.CountablyGenerated α)
Equations
- (_ : MeasurableSpace.CountablyGenerated { x : α // p x }) = (_ : MeasurableSpace.CountablyGenerated { x : α // p x })
Equations
- (_ : MeasurableSpace.CountablyGenerated (α × β)) = (_ : MeasurableSpace.CountablyGenerated (α × β))
Equations
- (_ : HasCountableSeparatingOn α MeasurableSet s) = (_ : HasCountableSeparatingOn α MeasurableSet s)
If a measurable space is countably generated and separates points, it admits a measurable
injection into the Cantor space ℕ → Bool (equipped with the product sigma algebra).
A filter f is measurably generates if each s ∈ f includes a measurable t ∈ f.
- exists_measurable_subset : ∀ ⦃s : Set α⦄, s ∈ f → ∃ t ∈ f, MeasurableSet t ∧ t ⊆ s
Instances
Equations
- (_ : Filter.IsMeasurablyGenerated ⊥) = (_ : Filter.IsMeasurablyGenerated ⊥)
Equations
- (_ : Filter.IsMeasurablyGenerated ⊤) = (_ : Filter.IsMeasurablyGenerated ⊤)
Equations
- (_ : Filter.IsMeasurablyGenerated (f ⊓ g)) = (_ : Filter.IsMeasurablyGenerated (f ⊓ g))
Alias of the reverse direction of Filter.principal_isMeasurablyGenerated_iff.
Equations
- (_ : Filter.IsMeasurablyGenerated (⨅ (i : ι), f i)) = (_ : Filter.IsMeasurablyGenerated (⨅ (i : ι), f i))
We say that a collection of sets is countably spanning if a countable subset spans the
whole type. This is a useful condition in various parts of measure theory. For example, it is
a needed condition to show that the product of two collections generate the product sigma algebra,
see generateFrom_prod_eq.
Equations
Instances For
Typeclasses on Subtype MeasurableSet #
Equations
- MeasurableSet.Subtype.instEmptyCollection = { emptyCollection := { val := ∅, property := (_ : MeasurableSet ∅) } }
Equations
- MeasurableSet.Subtype.instInsert = { insert := fun (a : α) (s : Subtype MeasurableSet) => { val := insert a ↑s, property := (_ : MeasurableSet (insert a ↑s)) } }
Equations
- MeasurableSet.Subtype.instSingleton = { singleton := fun (a : α) => { val := {a}, property := (_ : MeasurableSet {a}) } }
Equations
- (_ : IsLawfulSingleton α (Subtype MeasurableSet)) = (_ : IsLawfulSingleton α (Subtype MeasurableSet))
Equations
- MeasurableSet.Subtype.instHasCompl = { compl := fun (x : Subtype MeasurableSet) => { val := (↑x)ᶜ, property := (_ : MeasurableSet (↑x)ᶜ) } }
Equations
- MeasurableSet.Subtype.instUnion = { union := fun (x y : Subtype MeasurableSet) => { val := ↑x ∪ ↑y, property := (_ : MeasurableSet (↑x ∪ ↑y)) } }
Equations
- MeasurableSet.Subtype.instInter = { inter := fun (x y : Subtype MeasurableSet) => { val := ↑x ∩ ↑y, property := (_ : MeasurableSet (↑x ∩ ↑y)) } }
Equations
- MeasurableSet.Subtype.instSDiff = { sdiff := fun (x y : Subtype MeasurableSet) => { val := ↑x \ ↑y, property := (_ : MeasurableSet (↑x \ ↑y)) } }
Equations
- MeasurableSet.Subtype.instTop = { top := { val := Set.univ, property := (_ : MeasurableSet Set.univ) } }
Equations
- One or more equations did not get rendered due to their size.