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 MeasureTheory.MeasurableSpaceDef
.
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 #
- https://en.wikipedia.org/wiki/Measurable_space
- https://en.wikipedia.org/wiki/Sigma-algebra
- https://en.wikipedia.org/wiki/Dynkin_system
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 reverse direction of measurable_iff_le_map
.
Alias of the forward 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
- 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
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₂
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 => b a) (m a)
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
- 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
.
The sigma-algebra generated by a single set s
is {∅, s, sᶜ, univ}
.
- 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.
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
.
Instances For
- toFun : α → β
- invFun : β → α
- left_inv : Function.LeftInverse s.invFun s.toFun
- right_inv : Function.RightInverse s.invFun s.toFun
- measurable_toFun : Measurable ↑s.toEquiv
The forward function of a measurable equivalence is measurable.
- measurable_invFun : Measurable ↑s.symm
The inverse function of a measurable equivalence is measurable.
Equivalences between measurable spaces. Main application is the simplification of measurability statements along measurable equivalences.
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
- MeasurableEquiv.symm ab = { 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
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
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
- One or more equations did not get rendered due to their size.
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
Pi-types are measurably equivalent to iterated products.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If α
has a unique term, then the type of function α → β
is measurably equivalent to β
.
Equations
- MeasurableEquiv.funUnique α β = { toEquiv := Equiv.funUnique α β, measurable_toFun := (_ : Measurable fun f => f default), measurable_invFun := (_ : Measurable ↑(Equiv.funUnique α β).symm) }
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 => α
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
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
- isCountablyGenerated : ∃ b, Set.Countable b ∧ m = MeasurableSpace.generateFrom b
We say a measurable space is countably generated if it can be generated by a countable set of sets.
Instances
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
.
Instances
Alias of the reverse direction of Filter.principal_isMeasurablyGenerated_iff
.
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
.
Instances For
Typeclasses on Subtype MeasurableSet
#
Equations
- MeasurableSet.Subtype.instEmptyCollection = { emptyCollection := { val := ∅, property := (_ : MeasurableSet ∅) } }
Equations
- MeasurableSet.Subtype.instInsert = { insert := fun a s => { val := insert a ↑s, property := (_ : MeasurableSet (insert a ↑s)) } }
Equations
- MeasurableSet.Subtype.instSingleton = { singleton := fun a => { val := {a}, property := (_ : MeasurableSet {a}) } }
Equations
- MeasurableSet.Subtype.instHasCompl = { compl := fun x => { val := (↑x)ᶜ, property := (_ : MeasurableSet (↑x)ᶜ) } }
Equations
- MeasurableSet.Subtype.instUnion = { union := fun x y => { val := ↑x ∪ ↑y, property := (_ : MeasurableSet (↑x ∪ ↑y)) } }
Equations
- MeasurableSet.Subtype.instInter = { inter := fun x y => { val := ↑x ∩ ↑y, property := (_ : MeasurableSet (↑x ∩ ↑y)) } }
Equations
- MeasurableSet.Subtype.instSDiff = { sdiff := fun x y => { 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.