Skip to main content
fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0

MeasureTheory.measure_enorm_mem_eq_volume_rearrangement_mem

Carleson.ToMathlib.Rearrangement · Carleson/ToMathlib/Rearrangement.lean:474 to 554

Mathematical statement

Exact Lean statement

lemma measure_enorm_mem_eq_volume_rearrangement_mem {ε} [TopologicalSpace ε] [ENormedAddMonoid ε]
  {f : α → ε} (hf : AEStronglyMeasurable f μ) {s : Set ℝ≥0∞}
  (hs : MeasurableSet s) (zero_notin_s : 0 ∉ s) (inf_not_mem : sInf s ∉ s)
  (hs' : ∀ t ∈ s, distribution f t μ < ∞) :
    μ {x | ‖f x‖ₑ ∈ s} = volume {x | rearrangement f x μ ∈ s}

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma measure_enorm_mem_eq_volume_rearrangement_mem {ε} [TopologicalSpace ε] [ENormedAddMonoid ε]  {f : α  ε} (hf : AEStronglyMeasurable f μ) {s : Set 0∞}  (hs : MeasurableSet s) (zero_notin_s : 0  s) (inf_not_mem : sInf s  s)  (hs' :  t  s, distribution f t μ < ∞) :    μ {x | ‖f x‖ₑ  s} = volume {x | rearrangement f x μ  s} := by  by_cases s_nonempty : s =  · rw [s_nonempty]    simp  simp_rw [ Set.nonempty_iff_ne_empty] at s_nonempty  have s_bddBelow : BddBelow s := by simp  rcases exists_seq_tendsto_sInf s_nonempty s_bddBelow with u, antitone_u, tendsto_u, hus  have hμ : {x | ‖f x‖ₑ  s} = ⋃ n, {x | ‖(superlevelSet f (u n)).indicator f x‖ₑ  s} := by    ext x    unfold superlevelSet Set.indicator    simp only [Set.mem_setOf_eq, Set.mem_iUnion]    constructor    · intro hfs      have :  i, u i < ‖f x‖ₑ := by        refine iInf_lt_iff.mp ?_        rw [iInf_eq_of_tendsto antitone_u tendsto_u]        apply lt_of_le_of_ne (sInf_le hfs)        grind      rcases this with i, hi      use i      split_ifs      use hfs    · aesop  have hvolume : {x | rearrangement f x μ  s}      = ⋃ n, {x | (superlevelSet (rearrangement f · μ) (u n)).indicator (rearrangement f · μ) x  s} := by    ext x    unfold superlevelSet Set.indicator    simp only [Set.mem_setOf_eq, Set.mem_iUnion]    constructor    · intro hfs      have :  i, u i < rearrangement f x μ := by        refine iInf_lt_iff.mp ?_        rw [iInf_eq_of_tendsto antitone_u tendsto_u]        apply lt_of_le_of_ne (sInf_le hfs)        grind      rcases this with i, hi      use i      simp only [enorm_eq_self]      split_ifs      use hfs    · aesop  rw [hμ, hvolume, Monotone.measure_iUnion, Monotone.measure_iUnion]  · congr with i    rw [measure_enorm_mem_eq_volume_rearrangement_mem_of_support_finite (μ := μ) _ _ hs zero_notin_s]    · congr with x      rw [rearrangement_indicator_superlevelSet]    · exact hf.indicator₀ (nullMeasurableSet_superlevelSet hf)    · rw [ distribution_zero_eq_measure_support, distribution_indicator_superlevelSet]      exact min_lt_of_left_lt (hs' (u i) (hus i))  · intro n m hmn    simp only    unfold Set.indicator    intro x    simp only [Set.mem_setOf_eq]    split_ifs with hn hm    · exact id    · exfalso      unfold superlevelSet at hn hm      simp only [enorm_eq_self, Set.mem_setOf_eq, not_lt] at hn hm      have := antitone_u hmn      order    · simp [zero_notin_s]    · exact id  · intro n m hmn    simp only    unfold Set.indicator    intro x    simp only [Set.mem_setOf_eq]    split_ifs with hn hm    · exact id    · exfalso      unfold superlevelSet at hn hm      simp only [Set.mem_setOf_eq, not_lt] at hn hm      have := antitone_u hmn      order    · simp [zero_notin_s]    · exact id