fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0
aemeasurable_czApproximation
Carleson.TwoSidedCarleson.WeakCalderonZygmund · Carleson/TwoSidedCarleson/WeakCalderonZygmund.lean:752 to 773
Source documentation
Part of Lemma 10.2.5 (both cases).
Exact Lean statement
lemma aemeasurable_czApproximation {hf : AEMeasurable f} : AEMeasurable (czApproximation f α)Complete declaration
Lean source
Full Lean sourceLean 4
lemma aemeasurable_czApproximation {hf : AEMeasurable f} : AEMeasurable (czApproximation f α) := by by_cases hX : GeneralCase f α; swap · unfold czApproximation; simp [hX] let czA (x : X) := -- Measurable version of `czApproximation f α` if hx : ∃ j, x ∈ czPartition hX j then ⨍ y in czPartition hX hx.choose, f y else hf.mk f x refine ⟨czA, fun T hT ↦ ?_, hf.ae_eq_mk.mono fun x h ↦ by simp [czApproximation, czA, hX, h]⟩ let S := {x : X | ∃ j, x ∈ czPartition hX j}ᶜ ∩ (hf.mk f) ⁻¹' T have : czA ⁻¹' T = S ∪ ⋃₀ (czPartition hX '' {i | ⨍ y in czPartition hX i, f y ∈ T}) := by refine ext fun x ↦ ⟨fun h ↦ ?_, fun h ↦ ?_⟩ · by_cases hx : ∃ j, x ∈ czPartition hX j · refine Or.inr ⟨czPartition hX hx.choose, ⟨mem_image_of_mem _ ?_, hx.choose_spec⟩⟩ simpa [czA, hx] using h · exact Or.inl ⟨hx, by simpa [czA, hx, hX] using h⟩ · cases h with | inl h => simpa [czA, mem_setOf_eq ▸ mem_setOf_eq ▸ h.1] using h.2 | inr h => obtain ⟨_, ⟨⟨i, ⟨hi, rfl⟩⟩, hxi⟩⟩ := h have hx : ∃ j, x ∈ czPartition hX j := ⟨i, hxi⟩ simpa [czA, hx, czPartition_pairwiseDisjoint' hx.choose_spec hxi] using hi rw [this] have := Measurable.exists (MeasurableSet.czPartition hX · |>.mem) apply MeasurableSet.union (by measurability) ∘ MeasurableSet.sUnion ((to_countable _).image _) simp [MeasurableSet.czPartition hX]