Skip to content

Commit 6a9ea57

Browse files
EtienneC30Bergschaf
authored andcommitted
feat: the identity function is a.e.-strongly measurable w.r.t. the map by an a.e.-strongly measurable function (leanprover-community#39644)
If `AEStronglyMeasurable f µ` then `AEStronglyMeasurable id (µ.map f)`. Contrary to [aestronglyMeasurable_id](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.html#aestronglyMeasurable_id) this does not require the identity to be defined over a second-countable space as `f` has a.e.-separable range.
1 parent 954bb6c commit 6a9ea57

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,30 @@ theorem aestronglyMeasurable_zero_measure (f : α → β) :
135135
theorem SimpleFunc.aestronglyMeasurable (f : α →ₛ β) : AEStronglyMeasurable f μ :=
136136
f.stronglyMeasurable.aestronglyMeasurable
137137

138+
/-- In a pseudometrizable space, if a measure `μ` is supported on
139+
a separable set then the identity function is `AEStronglyMeasurable` with respect to `μ`. -/
140+
lemma aestronglyMeasurable_id_of_isSeparable [TopologicalSpace α]
141+
[TopologicalSpace.PseudoMetrizableSpace α] [OpensMeasurableSpace α]
142+
{s : Set α} (h1 : TopologicalSpace.IsSeparable s) (h2 : μ sᶜ = 0) :
143+
AEStronglyMeasurable id μ := by
144+
nontriviality α
145+
obtain ⟨a, -⟩ := exists_pair_ne α
146+
classical
147+
refine ⟨(closure s).piecewise id (fun _ ↦ a), ?_,
148+
Filter.mem_of_superset h2 (fun x hx ↦ by simp [subset_closure hx])⟩
149+
have h : StronglyMeasurable ((↑) : closure s → α) := by
150+
have := h1.closure.secondCountableTopology
151+
exact continuous_subtype_val.stronglyMeasurable
152+
have : (closure s).piecewise id (fun _ ↦ a) =
153+
((↑) : closure s → α).extend ((↑) : closure s → α) (fun _ ↦ a) := by
154+
ext x
155+
by_cases hx : x ∈ closure s
156+
· simp [Function.extend_val_apply, hx]
157+
· simp [hx]
158+
rw [this]
159+
exact (MeasurableEmbedding.subtype_coe isClosed_closure.measurableSet).stronglyMeasurable_extend
160+
h stronglyMeasurable_const
161+
138162
namespace AEStronglyMeasurable
139163

140164
@[fun_prop]
@@ -585,6 +609,17 @@ theorem isSeparable_ae_range (hf : AEStronglyMeasurable f μ) :
585609
filter_upwards [hf.ae_eq_mk] with x hx
586610
simp [hx]
587611

612+
/-- If `μ : Measure α` and `f : α → β` is `AEStronglyMeasurable` where `β` is a pseudometrizable
613+
space and a Borel space, then the identity is a.e.-strongly measurable w.r.t. `μ.map f`. -/
614+
lemma aestronglyMeasurable_id_map {mβ : MeasurableSpace β}
615+
[TopologicalSpace.PseudoMetrizableSpace β] [BorelSpace β]
616+
{f : α → β} (hf : AEStronglyMeasurable f μ) :
617+
AEStronglyMeasurable id (μ.map f) := by
618+
obtain ⟨t, ht1, ht2⟩ := hf.isSeparable_ae_range
619+
refine aestronglyMeasurable_id_of_isSeparable ht1.closure ?_
620+
refine ae_map_iff hf.aemeasurable isClosed_closure.measurableSet |>.2 ?_
621+
filter_upwards [ht2] with ω hω using subset_closure hω
622+
588623
/-- A function is almost everywhere strongly measurable if and only if it is almost everywhere
589624
measurable, and up to a zero measure set its range is contained in a separable set. -/
590625
theorem _root_.aestronglyMeasurable_iff_aemeasurable_separable [PseudoMetrizableSpace β]

0 commit comments

Comments
 (0)