Skip to content

Commit abb1567

Browse files
authored
Update Real.lean
1 parent e383f9d commit abb1567

1 file changed

Lines changed: 1 addition & 84 deletions

File tree

  • Mathlib/MeasureTheory/Integral/RieszMarkovKakutani

Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean

Lines changed: 1 addition & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Yoh Tanimoto, Oliver Butterley
55
-/
6-
import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap
6+
import Mathlib.MeasureTheory.Integral.Bochner.Set
77
import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Basic
88
import Mathlib.Order.Interval.Set.Union
99

@@ -346,87 +346,4 @@ theorem integral_rieszMeasure (f : C_c(X, ℝ)) : ∫ x, f x ∂(rieszMeasure Λ
346346
-- prove the inequality for `f`
347347
· exact integral_riesz_aux Λ f
348348

349-
-- Note: the assumption `IsFiniteMeasureOnCompacts μ` cannot be removed. For example, if
350-
-- `μ` is infinite on any nonempty set and `ν = 0`, then the hypothese are satisfied.
351-
lemma compare_measure_of_compact_sets {μ ν : Measure X} [ν.OuterRegular]
352-
[IsFiniteMeasureOnCompacts ν] [IsFiniteMeasureOnCompacts μ]
353-
(hμν : ∀ (f : C_c(X, ℝ)), ∫ (x : X), f x ∂μ ≤ ∫ (x : X), f x ∂ν)
354-
⦃K : Set X⦄ (hK : IsCompact K) : μ K ≤ ν K := by
355-
refine ENNReal.le_of_forall_pos_le_add fun ε hε hν ↦ ?_
356-
have hνK : ν K ≠ ⊤ := hν.ne
357-
have hμK : μ K ≠ ⊤ := hK.measure_lt_top.ne
358-
obtain ⟨V, pV1, pV2, pV3⟩ : ∃ V ⊇ K, IsOpen V ∧ ν V ≤ ν K + ε := by
359-
exact Set.exists_isOpen_le_add K ν (ne_of_gt (ENNReal.coe_lt_coe.mpr hε))
360-
suffices (μ K).toReal ≤ (ν K).toReal + ε by
361-
rw [← ENNReal.toReal_le_toReal, ENNReal.toReal_add, ENNReal.coe_toReal]
362-
all_goals finiteness
363-
have VltTop : ν V < ⊤ := pV3.trans_lt <| by finiteness
364-
obtain ⟨f, pf1, pf2, pf3⟩ :
365-
∃ f : C_c(X, ℝ), Set.EqOn (⇑f) 1 K ∧ tsupport ⇑f ⊆ V ∧ ∀ (x : X), f x ∈ Set.Icc 0 1 := by
366-
obtain ⟨f, hf1, hf2, hf3⟩ := exists_continuous_one_of_compact_subset_open hK pV2 pV1
367-
exact ⟨⟨f, hasCompactSupport_def.mpr hf2⟩, hf1, hf3⟩
368-
have hfV (x : X) : f x ≤ V.indicator 1 x := by
369-
by_cases hx : x ∈ tsupport f
370-
· simp [(pf2 hx), (pf3 x).2]
371-
· simp [image_eq_zero_of_notMem_tsupport hx, Set.indicator_nonneg]
372-
have hfK (x : X) : K.indicator 1 x ≤ f x := by
373-
by_cases hx : x ∈ K
374-
· simp [hx, pf1 hx]
375-
· simp [hx, (pf3 x).1]
376-
calc
377-
(μ K).toReal = ∫ (x : X), K.indicator 1 x ∂μ := by
378-
rw [integral_indicator_one hK.measurableSet, measureReal_def]
379-
_ ≤ ∫ (x : X), (f x : ℝ) ∂μ := by
380-
refine integral_mono ?_ f.integrable hfK
381-
exact (continuousOn_const.integrableOn_compact hK).integrable_indicator hK.measurableSet
382-
_ ≤ ∫ (x : X), (f x : ℝ) ∂ν := hμν f
383-
_ ≤ ∫ (x : X), V.indicator 1 x ∂ν := by
384-
refine integral_mono f.integrable ?_ hfV
385-
exact IntegrableOn.integrable_indicator integrableOn_const pV2.measurableSet
386-
_ ≤ (ν K).toReal + ↑ε := by
387-
rwa [integral_indicator_one pV2.measurableSet, measureReal_def,
388-
← ENNReal.coe_toReal, ← ENNReal.toReal_add, ENNReal.toReal_le_toReal]
389-
all_goals finiteness
390-
391-
/-- If two regular measures give the same integral for every function in `C_c(X, ℝ)`,
392-
then they are equal. -/
393-
theorem eq_of_integral_eq_on_Cc {μ ν : Measure X} [Measure.Regular μ] [Measure.Regular ν]
394-
(hμν : ∀ (f : C_c(X, ℝ)), ∫ (x : X), f x ∂μ = ∫ (x : X), f x ∂ν) : μ = ν := by
395-
apply Measure.OuterRegular.eq_of_eq_on_isOpen
396-
apply Measure.InnerRegularWRT.eq_on_q_of_eq_on_p
397-
· exact Measure.Regular.innerRegular
398-
· exact Measure.Regular.innerRegular
399-
· intro K hK
400-
apply le_antisymm
401-
· exact compare_measure_of_compact_sets (fun f ↦ le_of_eq (hμν f)) hK
402-
· exact compare_measure_of_compact_sets (fun f ↦ ge_of_eq (hμν f)) hK
403-
404-
/-- Let μ be a measure that is finite on compact sets. Then μ induces a positive
405-
linear functional on C_c(X, ℝ). -/
406-
@[simps!]
407-
noncomputable def integralPositiveLinearMap (μ : Measure X) [OpensMeasurableSpace X]
408-
[MeasureTheory.IsFiniteMeasureOnCompacts μ] : C_c(X, ℝ) →ₚ[ℝ] ℝ :=
409-
PositiveLinearMap.mk₀
410-
{ toFun f := ∫ (x : X), f x ∂μ,
411-
map_add' f g := integral_add' f.integrable g.integrable
412-
map_smul' c f := integral_smul c f }
413-
fun _ ↦ integral_nonneg
414-
415-
/-- If two regular measures induce the same positive linear functional on `C_c(X, ℝ)`,
416-
then they are equal. -/
417-
theorem eq_of_eq_integralPositiveLinearMap {μ ν : Measure X}
418-
[Measure.Regular μ] [Measure.Regular ν]
419-
(hμν : integralPositiveLinearMap μ = integralPositiveLinearMap ν) : μ = ν :=
420-
eq_of_integral_eq_on_Cc fun f ↦ congr($hμν f)
421-
422-
/-The Riesz measure induced by a positive linear functional on `C_c(X, ℝ)` is regular.-/
423-
instance rieszMeasure_regular (Λ : C_c(X, ℝ) →ₚ[ℝ] ℝ) : (rieszMeasure Λ).Regular :=
424-
rieszContent (CompactlySupportedContinuousMap.toNNRealLinear Λ) |>.regular
425-
426-
/-- RealRMK.rieszMeasure is a surjective function. That is, every regular measure is induced by a
427-
positive linear functional on `C_c(X, ℝ)`. -/
428-
theorem rieszMeasure_surjective {μ : Measure X} [Measure.Regular μ] :
429-
μ = rieszMeasure (integralPositiveLinearMap μ) :=
430-
eq_of_integral_eq_on_Cc fun f ↦ (integral_rieszMeasure (integralPositiveLinearMap μ) f).symm
431-
432349
end RealRMK

0 commit comments

Comments
 (0)