measure_theory.measure.finite_measure
⟷
Mathlib.MeasureTheory.Measure.FiniteMeasure
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -385,7 +385,7 @@ theorem BoundedContinuousFunction.lintegral_lt_top_of_nnreal (μ : Measure Ω) [
by
ext
simp only [Real.coe_toNNReal', max_eq_left_iff, Subtype.coe_mk, coe_nndist]
- rwa [Eq] at key
+ rwa [Eq] at key
#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal BoundedContinuousFunction.lintegral_lt_top_of_nnreal
-/
@@ -496,7 +496,7 @@ theorem testAgainstNN_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
exact dist_le_coe.mp (le_dist ω)
have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g := by rw [← ENNReal.coe_add];
exact ENNReal.coe_mono le'
- rwa [coe_nnreal_ennreal_nndist] at le
+ rwa [coe_nnreal_ennreal_nndist] at le
#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz_estimate
-/
@@ -511,15 +511,15 @@ theorem testAgainstNN_lipschitz (μ : FiniteMeasure Ω) :
apply abs_le.mpr
constructor
· have key' := μ.test_against_nn_lipschitz_estimate f₂ f₁
- rw [mul_comm] at key'
+ rw [mul_comm] at key'
suffices ↑(μ.test_against_nn f₂) ≤ ↑(μ.test_against_nn f₁) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
- rwa [NNReal.coe_add, NNReal.coe_mul, nndist_comm] at key
+ rwa [NNReal.coe_add, NNReal.coe_mul, nndist_comm] at key
· have key' := μ.test_against_nn_lipschitz_estimate f₁ f₂
- rw [mul_comm] at key'
+ rw [mul_comm] at key'
suffices ↑(μ.test_against_nn f₁) ≤ ↑(μ.test_against_nn f₂) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
- rwa [NNReal.coe_add, NNReal.coe_mul] at key
+ rwa [NNReal.coe_add, NNReal.coe_mul] at key
#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz
-/
@@ -624,7 +624,7 @@ theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type _} {F : Filte
by
apply tendsto_iff_dist_tendsto_zero.mpr
have obs := fun i => (μs i).testAgainstNN_lipschitz_estimate f 0
- simp_rw [test_against_nn_zero, zero_add] at obs
+ simp_rw [test_against_nn_zero, zero_add] at obs
simp_rw [show ∀ i, dist ((μs i).testAgainstNN f) 0 = (μs i).testAgainstNN f by
simp only [dist_nndist, NNReal.nndist_zero_eq_val', eq_self_iff_true, imp_true_iff]]
refine' squeeze_zero (fun i => NNReal.coe_nonneg _) obs _
@@ -634,7 +634,7 @@ theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type _} {F : Filte
refine' (Prod.tendsto_iff _ _).mpr ⟨tendsto_const_nhds, _⟩
exact (nnreal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
- rwa [MulZeroClass.mul_zero] at key
+ rwa [MulZeroClass.mul_zero] at key
#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNN_of_tendsto_zero_mass
-/
@@ -844,7 +844,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
@ENNReal.tendsto_toReal_iff _ F _
(fun i => (lintegral_lt_top_of_bounded_continuous_to_nnreal (μs i : Measure Ω) f).Ne) _
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne
- simp only [ENNReal.ofReal_coe_nnreal] at key
+ simp only [ENNReal.ofReal_coe_nnreal] at key
apply key.mp
have lip : LipschitzWith 1 (coe : ℝ≥0 → ℝ) := isometry_subtype_coe.lipschitz
set f₀ := BoundedContinuousFunction.comp _ lip f with def_f₀
@@ -856,7 +856,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
integral_eq_lintegral_of_nonneg_ae f₀_ae_nn f₀.continuous.measurable.ae_strongly_measurable
have auxs := fun i =>
integral_eq_lintegral_of_nonneg_ae (f₀_ae_nns i) f₀.continuous.measurable.ae_strongly_measurable
- simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
+ simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
simpa only [← aux, ← auxs] using h f₀
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
-/
@@ -901,7 +901,7 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
(ENNReal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
(∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)).toReal :=
fun _ => rfl
- simp_rw [aux, BoundedContinuousFunction.toReal_lintegral_coe_eq_integral] at tends_pos tends_neg
+ simp_rw [aux, BoundedContinuousFunction.toReal_lintegral_coe_eq_integral] at tends_pos tends_neg
exact tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -267,7 +267,7 @@ theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set
#print MeasureTheory.FiniteMeasure.coeFn_add /-
@[simp, norm_cast]
theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) := by
- funext; simp [← ENNReal.coe_eq_coe]
+ funext; simp [← ENNReal.coe_inj]
#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
-/
@@ -275,7 +275,7 @@ theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥
@[simp, norm_cast]
theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by funext;
- simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
+ simp [← ENNReal.coe_inj, ENNReal.coe_smul]
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
-/
@@ -400,7 +400,7 @@ theorem testAgainstNN_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
#print MeasureTheory.FiniteMeasure.testAgainstNN_const /-
theorem testAgainstNN_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
μ.testAgainstNN (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
- simp [← ENNReal.coe_eq_coe]
+ simp [← ENNReal.coe_inj]
#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNN_const
-/
@@ -458,7 +458,7 @@ variable [OpensMeasurableSpace Ω]
theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN (f₁ + f₂) = μ.testAgainstNN f₁ + μ.testAgainstNN f₂ :=
by
- simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
+ simp only [← ENNReal.coe_inj, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
test_against_nn_coe_eq]
exact lintegral_add_left (BoundedContinuousFunction.measurable_coe_ennreal_comp _) _
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNN_add
@@ -469,7 +469,7 @@ theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
[BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN (c • f) = c • μ.testAgainstNN f :=
by
- simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
+ simp only [← ENNReal.coe_inj, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
ENNReal.coe_smul]
simp_rw [← smul_one_smul ℝ≥0∞ c (f _ : ℝ≥0∞), ← smul_one_smul ℝ≥0∞ c (lintegral _ _ : ℝ≥0∞),
smul_eq_mul]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -678,7 +678,7 @@ This section is about bounded convergence theorems for finite measures.
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-#print MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const /-
+#print MeasureTheory.tendsto_lintegral_nn_filter_of_le_const /-
/-- A bounded convergence theorem for a finite measure:
If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
limit, then their integrals against the finite measure tend to the integral of the limit.
@@ -689,8 +689,8 @@ This formulation assumes:
* integration is `measure_theory.lintegral`, i.e., the functions and their integrals are
`ℝ≥0∞`-valued.
-/
-theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L.IsCountablyGenerated]
- (μ : Measure Ω) [IsFiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+theorem MeasureTheory.tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι}
+ [L.IsCountablyGenerated] (μ : Measure Ω) [IsFiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂μ, fs i ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂μ, Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
Tendsto (fun i => ∫⁻ ω, fs i ω ∂μ) L (𝓝 (∫⁻ ω, f ω ∂μ)) :=
@@ -701,7 +701,7 @@ theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L
(@lintegral_const_lt_top _ _ μ _ _ (@ENNReal.coe_ne_top c)).Ne _
· simpa only [ENNReal.coe_le_coe] using fs_le_const
· simpa only [ENNReal.tendsto_coe] using fs_lim
-#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const
+#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.tendsto_lintegral_nn_filter_of_le_const
-/
#print MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_of_le_const /-
@@ -717,7 +717,7 @@ theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasure Ω) {fs : ℕ →
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ ω, Tendsto (fun n => fs n ω) atTop (𝓝 (f ω))) :
Tendsto (fun n => ∫⁻ ω, fs n ω ∂(μ : Measure Ω)) atTop (𝓝 (∫⁻ ω, f ω ∂(μ : Measure Ω))) :=
- tendsto_lintegral_nn_filter_of_le_const μ
+ MeasureTheory.tendsto_lintegral_nn_filter_of_le_const μ
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
#align measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_of_le_const
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -364,36 +364,36 @@ def testAgainstNN (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNN
-/
-#print BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable /-
-theorem BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type _}
- [TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
+#print BoundedContinuousFunction.measurable_coe_ennreal_comp /-
+theorem BoundedContinuousFunction.measurable_coe_ennreal_comp {Ω : Type _} [TopologicalSpace Ω]
+ [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
Measurable fun ω => (f ω : ℝ≥0∞) :=
measurable_coe_nnreal_ennreal.comp f.Continuous.Measurable
-#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable
+#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.measurable_coe_ennreal_comp
-/
-#print MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal /-
-theorem MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
- [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : ∫⁻ ω, f ω ∂μ < ∞ :=
+#print BoundedContinuousFunction.lintegral_lt_top_of_nnreal /-
+theorem BoundedContinuousFunction.lintegral_lt_top_of_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
+ (f : Ω →ᵇ ℝ≥0) : ∫⁻ ω, f ω ∂μ < ∞ :=
by
apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_ennreal
use nndist f 0
intro x
- have key := BoundedContinuousFunction.Nnreal.upper_bound f x
+ have key := BoundedContinuousFunction.NNReal.upper_bound f x
rw [ENNReal.coe_le_coe]
have eq : nndist f 0 = ⟨dist f 0, dist_nonneg⟩ :=
by
ext
simp only [Real.coe_toNNReal', max_eq_left_iff, Subtype.coe_mk, coe_nndist]
rwa [Eq] at key
-#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal
+#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal BoundedContinuousFunction.lintegral_lt_top_of_nnreal
-/
#print MeasureTheory.FiniteMeasure.testAgainstNN_coe_eq /-
@[simp]
theorem testAgainstNN_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
(μ.testAgainstNN f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
- ENNReal.coe_toNNReal (lintegral_lt_top_of_boundedContinuous_to_nnreal _ f).Ne
+ ENNReal.coe_toNNReal (lintegral_lt_top_of_nnreal _ f).Ne
#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNN_coe_eq
-/
@@ -460,7 +460,7 @@ theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
test_against_nn_coe_eq]
- exact lintegral_add_left (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable _) _
+ exact lintegral_add_left (BoundedContinuousFunction.measurable_coe_ennreal_comp _) _
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNN_add
-/
@@ -475,7 +475,7 @@ theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
smul_eq_mul]
exact
@lintegral_const_mul _ _ (μ : Measure Ω) (c • 1) _
- (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable f)
+ (BoundedContinuousFunction.measurable_coe_ennreal_comp f)
#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNN_smul
-/
@@ -786,18 +786,18 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-#print MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_nnreal /-
-theorem integrable_of_boundedContinuous_to_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
+#print BoundedContinuousFunction.integrable_of_nnreal /-
+theorem BoundedContinuousFunction.integrable_of_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AEStronglyMeasurable, _⟩
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_nnreal
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal BoundedContinuousFunction.integrable_of_nnreal
-/
-#print MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_real /-
-theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+#print BoundedContinuousFunction.integrable /-
+theorem BoundedContinuousFunction.integrable (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
Integrable (⇑f) μ :=
by
refine' ⟨f.continuous.measurable.ae_strongly_measurable, _⟩
@@ -810,7 +810,7 @@ theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasu
· exact ENNReal.ofReal_lt_top
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_real
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real BoundedContinuousFunction.integrable
-/
#print BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub /-
@@ -822,12 +822,12 @@ theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Meas
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
-/
-#print MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real /-
-theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type _} [MeasurableSpace Ω]
+#print BoundedContinuousFunction.lintegral_of_real_lt_top /-
+theorem BoundedContinuousFunction.lintegral_of_real_lt_top {Ω : Type _} [MeasurableSpace Ω]
[TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
∫⁻ ω, ENNReal.ofReal (f ω) ∂μ < ∞ :=
- lintegral_lt_top_of_boundedContinuous_to_nnreal _ f.nnrealPart
-#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real
+ lintegral_lt_top_of_nnreal _ f.nnrealPart
+#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real BoundedContinuousFunction.lintegral_of_real_lt_top
-/
#print MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto /-
@@ -861,16 +861,16 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
-/
-#print BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral /-
-theorem BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
- (μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
+#print BoundedContinuousFunction.toReal_lintegral_coe_eq_integral /-
+theorem BoundedContinuousFunction.toReal_lintegral_coe_eq_integral (f : Ω →ᵇ ℝ≥0) (μ : Measure Ω) :
+ (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
by
rw [integral_eq_lintegral_of_nonneg_ae _
(nnreal.continuous_coe.comp f.continuous).Measurable.AEStronglyMeasurable]
· simp only [ENNReal.ofReal_coe_nnreal]
· apply eventually_of_forall
simp only [Pi.zero_apply, NNReal.zero_le_coe, imp_true_iff]
-#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral
+#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.toReal_lintegral_coe_eq_integral
-/
#print MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto /-
@@ -901,8 +901,7 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
(ENNReal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
(∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)).toReal :=
fun _ => rfl
- simp_rw [aux, BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral] at tends_pos
- tends_neg
+ simp_rw [aux, BoundedContinuousFunction.toReal_lintegral_coe_eq_integral] at tends_pos tends_neg
exact tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kalle Kytölä
-/
-import Mathbin.Topology.ContinuousFunction.Bounded
-import Mathbin.Topology.Algebra.Module.WeakDual
-import Mathbin.MeasureTheory.Integral.Bochner
+import Topology.ContinuousFunction.Bounded
+import Topology.Algebra.Module.WeakDual
+import MeasureTheory.Integral.Bochner
#align_import measure_theory.measure.finite_measure from "leanprover-community/mathlib"@"7e5137f579de09a059a5ce98f364a04e221aabf0"
mathlib commit https://github.com/leanprover-community/mathlib/commit/442a83d738cb208d3600056c489be16900ba701d
@@ -376,7 +376,7 @@ theorem BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type
theorem MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : ∫⁻ ω, f ω ∂μ < ∞ :=
by
- apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
+ apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_ennreal
use nndist f 0
intro x
have key := BoundedContinuousFunction.Nnreal.upper_bound f x
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2021 Kalle Kytölä. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kalle Kytölä
-
-! This file was ported from Lean 3 source module measure_theory.measure.finite_measure
-! leanprover-community/mathlib commit 7e5137f579de09a059a5ce98f364a04e221aabf0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Topology.ContinuousFunction.Bounded
import Mathbin.Topology.Algebra.Module.WeakDual
import Mathbin.MeasureTheory.Integral.Bochner
+#align_import measure_theory.measure.finite_measure from "leanprover-community/mathlib"@"7e5137f579de09a059a5ce98f364a04e221aabf0"
+
/-!
# Finite measures
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -186,11 +186,14 @@ instance instZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.is
#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.instZero
-/
+#print MeasureTheory.FiniteMeasure.zero_mass /-
@[simp]
theorem MeasureTheory.FiniteMeasure.zero_mass : (0 : FiniteMeasure Ω).mass = 0 :=
rfl
#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasure.zero_mass
+-/
+#print MeasureTheory.FiniteMeasure.mass_zero_iff /-
@[simp]
theorem mass_zero_iff (μ : FiniteMeasure Ω) : μ.mass = 0 ↔ μ = 0 :=
by
@@ -199,12 +202,15 @@ theorem mass_zero_iff (μ : FiniteMeasure Ω) : μ.mass = 0 ↔ μ = 0 :=
apply measure.measure_univ_eq_zero.mp
rwa [← ennreal_mass, ENNReal.coe_eq_zero]
#align measure_theory.finite_measure.mass_zero_iff MeasureTheory.FiniteMeasure.mass_zero_iff
+-/
+#print MeasureTheory.FiniteMeasure.mass_nonzero_iff /-
theorem mass_nonzero_iff (μ : FiniteMeasure Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
by
rw [not_iff_not]
exact finite_measure.mass_zero_iff μ
#align measure_theory.finite_measure.mass_nonzero_iff MeasureTheory.FiniteMeasure.mass_nonzero_iff
+-/
#print MeasureTheory.FiniteMeasure.eq_of_forall_toMeasure_apply_eq /-
@[ext]
@@ -248,29 +254,38 @@ theorem toMeasure_add (μ ν : FiniteMeasure Ω) : ↑(μ + ν) = (↑μ + ↑ν
#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasure.toMeasure_add
-/
+#print MeasureTheory.FiniteMeasure.toMeasure_smul /-
@[simp, norm_cast]
theorem toMeasure_smul (c : R) (μ : FiniteMeasure Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
rfl
#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasure.toMeasure_smul
+-/
+#print MeasureTheory.FiniteMeasure.coeFn_zero /-
@[simp, norm_cast]
theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) := by funext; rfl
#align measure_theory.finite_measure.coe_fn_zero MeasureTheory.FiniteMeasure.coeFn_zero
+-/
+#print MeasureTheory.FiniteMeasure.coeFn_add /-
@[simp, norm_cast]
theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) := by
funext; simp [← ENNReal.coe_eq_coe]
#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
+-/
+#print MeasureTheory.FiniteMeasure.coeFn_smul /-
@[simp, norm_cast]
theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by funext;
simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
+-/
instance : AddCommMonoid (FiniteMeasure Ω) :=
toMeasure_injective.AddCommMonoid coe toMeasure_zero toMeasure_add fun _ _ => toMeasure_smul _ _
+#print MeasureTheory.FiniteMeasure.toMeasureAddMonoidHom /-
/-- Coercion is an `add_monoid_hom`. -/
@[simps]
def toMeasureAddMonoidHom : FiniteMeasure Ω →+ Measure Ω
@@ -279,14 +294,17 @@ def toMeasureAddMonoidHom : FiniteMeasure Ω →+ Measure Ω
map_zero' := toMeasure_zero
map_add' := toMeasure_add
#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasure.toMeasureAddMonoidHom
+-/
instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
Function.Injective.module _ toMeasureAddMonoidHom toMeasure_injective toMeasure_smul
+#print MeasureTheory.FiniteMeasure.coeFn_smul_apply /-
@[simp]
theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) (s : Set Ω) :
(c • μ) s = c • μ s := by simp only [coe_fn_smul, Pi.smul_apply]
#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasure.coeFn_smul_apply
+-/
#print MeasureTheory.FiniteMeasure.restrict /-
/-- Restrict a finite measure μ to a set A. -/
@@ -304,17 +322,21 @@ theorem restrict_measure_eq (μ : FiniteMeasure Ω) (A : Set Ω) :
#align measure_theory.finite_measure.restrict_measure_eq MeasureTheory.FiniteMeasure.restrict_measure_eq
-/
+#print MeasureTheory.FiniteMeasure.restrict_apply_measure /-
theorem restrict_apply_measure (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω}
(s_mble : MeasurableSet s) : (μ.restrict A : Measure Ω) s = (μ : Measure Ω) (s ∩ A) :=
Measure.restrict_apply s_mble
#align measure_theory.finite_measure.restrict_apply_measure MeasureTheory.FiniteMeasure.restrict_apply_measure
+-/
+#print MeasureTheory.FiniteMeasure.restrict_apply /-
theorem restrict_apply (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω} (s_mble : MeasurableSet s) :
(μ.restrict A) s = μ (s ∩ A) :=
by
apply congr_arg ENNReal.toNNReal
exact measure.restrict_apply s_mble
#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasure.restrict_apply
+-/
#print MeasureTheory.FiniteMeasure.restrict_mass /-
theorem restrict_mass (μ : FiniteMeasure Ω) (A : Set Ω) : (μ.restrict A).mass = μ A := by
@@ -322,29 +344,38 @@ theorem restrict_mass (μ : FiniteMeasure Ω) (A : Set Ω) : (μ.restrict A).mas
#align measure_theory.finite_measure.restrict_mass MeasureTheory.FiniteMeasure.restrict_mass
-/
+#print MeasureTheory.FiniteMeasure.restrict_eq_zero_iff /-
theorem restrict_eq_zero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A = 0 ↔ μ A = 0 := by
rw [← mass_zero_iff, restrict_mass]
#align measure_theory.finite_measure.restrict_eq_zero_iff MeasureTheory.FiniteMeasure.restrict_eq_zero_iff
+-/
+#print MeasureTheory.FiniteMeasure.restrict_nonzero_iff /-
theorem restrict_nonzero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A ≠ 0 ↔ μ A ≠ 0 := by
rw [← mass_nonzero_iff, restrict_mass]
#align measure_theory.finite_measure.restrict_nonzero_iff MeasureTheory.FiniteMeasure.restrict_nonzero_iff
+-/
variable [TopologicalSpace Ω]
+#print MeasureTheory.FiniteMeasure.testAgainstNN /-
/-- The pairing of a finite (Borel) measure `μ` with a nonnegative bounded continuous
function is obtained by (Lebesgue) integrating the (test) function against the measure.
This is `finite_measure.test_against_nn`. -/
def testAgainstNN (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNN
+-/
+#print BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable /-
theorem BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type _}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
Measurable fun ω => (f ω : ℝ≥0∞) :=
measurable_coe_nnreal_ennreal.comp f.Continuous.Measurable
#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable
+-/
+#print MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal /-
theorem MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : ∫⁻ ω, f ω ∂μ < ∞ :=
by
@@ -359,29 +390,38 @@ theorem MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Meas
simp only [Real.coe_toNNReal', max_eq_left_iff, Subtype.coe_mk, coe_nndist]
rwa [Eq] at key
#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_coe_eq /-
@[simp]
theorem testAgainstNN_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
(μ.testAgainstNN f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
ENNReal.coe_toNNReal (lintegral_lt_top_of_boundedContinuous_to_nnreal _ f).Ne
#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNN_coe_eq
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_const /-
theorem testAgainstNN_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
μ.testAgainstNN (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
simp [← ENNReal.coe_eq_coe]
#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNN_const
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_mono /-
theorem testAgainstNN_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
μ.testAgainstNN f ≤ μ.testAgainstNN g :=
by
simp only [← ENNReal.coe_le_coe, test_against_nn_coe_eq]
exact lintegral_mono fun ω => ENNReal.coe_mono (f_le_g ω)
#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNN_mono
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_zero /-
@[simp]
theorem testAgainstNN_zero (μ : FiniteMeasure Ω) : μ.testAgainstNN 0 = 0 := by
simpa only [MulZeroClass.zero_mul] using μ.test_against_nn_const 0
#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNN_zero
+-/
#print MeasureTheory.FiniteMeasure.testAgainstNN_one /-
@[simp]
@@ -392,25 +432,32 @@ theorem testAgainstNN_one (μ : FiniteMeasure Ω) : μ.testAgainstNN 1 = μ.mass
#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasure.testAgainstNN_one
-/
+#print MeasureTheory.FiniteMeasure.zero_testAgainstNN_apply /-
@[simp]
theorem MeasureTheory.FiniteMeasure.zero_testAgainstNN_apply (f : Ω →ᵇ ℝ≥0) :
(0 : FiniteMeasure Ω).testAgainstNN f = 0 := by
simp only [test_against_nn, coe_zero, lintegral_zero_measure, ENNReal.zero_toNNReal]
#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasure.zero_testAgainstNN_apply
+-/
+#print MeasureTheory.FiniteMeasure.zero_testAgainstNN /-
theorem MeasureTheory.FiniteMeasure.zero_testAgainstNN : (0 : FiniteMeasure Ω).testAgainstNN = 0 :=
by funext; simp only [zero.test_against_nn_apply, Pi.zero_apply]
#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasure.zero_testAgainstNN
+-/
+#print MeasureTheory.FiniteMeasure.smul_testAgainstNN_apply /-
@[simp]
theorem smul_testAgainstNN_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
(c • μ).testAgainstNN f = c • μ.testAgainstNN f := by
simp only [test_against_nn, coe_smul, smul_eq_mul, ← ENNReal.smul_toNNReal, ENNReal.smul_def,
lintegral_smul_measure]
#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNN_apply
+-/
variable [OpensMeasurableSpace Ω]
+#print MeasureTheory.FiniteMeasure.testAgainstNN_add /-
theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN (f₁ + f₂) = μ.testAgainstNN f₁ + μ.testAgainstNN f₂ :=
by
@@ -418,7 +465,9 @@ theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0
test_against_nn_coe_eq]
exact lintegral_add_left (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable _) _
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNN_add
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_smul /-
theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
[BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN (c • f) = c • μ.testAgainstNN f :=
@@ -431,7 +480,9 @@ theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
@lintegral_const_mul _ _ (μ : Measure Ω) (c • 1) _
(BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable f)
#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNN_smul
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz_estimate /-
theorem testAgainstNN_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN f ≤ μ.testAgainstNN g + nndist f g * μ.mass :=
by
@@ -450,7 +501,9 @@ theorem testAgainstNN_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
exact ENNReal.coe_mono le'
rwa [coe_nnreal_ennreal_nndist] at le
#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz_estimate
+-/
+#print MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz /-
theorem testAgainstNN_lipschitz (μ : FiniteMeasure Ω) :
LipschitzWith μ.mass fun f : Ω →ᵇ ℝ≥0 => μ.testAgainstNN f :=
by
@@ -471,7 +524,9 @@ theorem testAgainstNN_lipschitz (μ : FiniteMeasure Ω) :
have key := NNReal.coe_mono key'
rwa [NNReal.coe_add, NNReal.coe_mul] at key
#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz
+-/
+#print MeasureTheory.FiniteMeasure.toWeakDualBCNN /-
/-- Finite measures yield elements of the `weak_dual` of bounded continuous nonnegative
functions via `measure_theory.finite_measure.test_against_nn`, i.e., integration. -/
def toWeakDualBCNN (μ : FiniteMeasure Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
@@ -481,17 +536,22 @@ def toWeakDualBCNN (μ : FiniteMeasure Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0
map_smul' := testAgainstNN_smul μ
cont := μ.testAgainstNN_lipschitz.Continuous
#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasure.toWeakDualBCNN
+-/
+#print MeasureTheory.FiniteMeasure.coe_toWeakDualBCNN /-
@[simp]
theorem coe_toWeakDualBCNN (μ : FiniteMeasure Ω) : ⇑μ.toWeakDualBCNN = μ.testAgainstNN :=
rfl
#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasure.coe_toWeakDualBCNN
+-/
+#print MeasureTheory.FiniteMeasure.toWeakDualBCNN_apply /-
@[simp]
theorem toWeakDualBCNN_apply (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
μ.toWeakDualBCNN f = (∫⁻ x, f x ∂(μ : Measure Ω)).toNNReal :=
rfl
#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasure.toWeakDualBCNN_apply
+-/
/-- The topology of weak convergence on `measure_theory.finite_measure Ω` is inherited (induced)
from the weak-* topology on `weak_dual ℝ≥0 (Ω →ᵇ ℝ≥0)` via the function
@@ -499,10 +559,13 @@ from the weak-* topology on `weak_dual ℝ≥0 (Ω →ᵇ ℝ≥0)` via the func
instance : TopologicalSpace (FiniteMeasure Ω) :=
TopologicalSpace.induced toWeakDualBCNN inferInstance
+#print MeasureTheory.FiniteMeasure.toWeakDualBCNN_continuous /-
theorem toWeakDualBCNN_continuous : Continuous (@toWeakDualBCNN Ω _ _ _) :=
continuous_induced_dom
#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasure.toWeakDualBCNN_continuous
+-/
+#print MeasureTheory.FiniteMeasure.continuous_testAgainstNN_eval /-
/- Integration of (nonnegative bounded continuous) test functions against finite Borel measures
depends continuously on the measure. -/
theorem continuous_testAgainstNN_eval (f : Ω →ᵇ ℝ≥0) :
@@ -510,38 +573,50 @@ theorem continuous_testAgainstNN_eval (f : Ω →ᵇ ℝ≥0) :
(by apply (WeakBilin.eval_continuous _ _).comp to_weak_dual_bcnn_continuous :
Continuous ((fun φ : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0) => φ f) ∘ toWeakDualBCNN))
#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasure.continuous_testAgainstNN_eval
+-/
+#print MeasureTheory.FiniteMeasure.continuous_mass /-
/-- The total mass of a finite measure depends continuously on the measure. -/
theorem continuous_mass : Continuous fun μ : FiniteMeasure Ω => μ.mass := by
simp_rw [← test_against_nn_one]; exact continuous_test_against_nn_eval 1
#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasure.continuous_mass
+-/
+#print Filter.Tendsto.mass /-
/-- Convergence of finite measures implies the convergence of their total masses. -/
theorem Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} (h : Tendsto μs F (𝓝 μ)) : Tendsto (fun i => (μs i).mass) F (𝓝 μ.mass) :=
(continuous_mass.Tendsto μ).comp h
#align filter.tendsto.mass Filter.Tendsto.mass
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_iff_weak_star_tendsto /-
theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔ Tendsto (fun i => (μs i).toWeakDualBCNN) F (𝓝 μ.toWeakDualBCNN) :=
Inducing.tendsto_nhds_iff ⟨rfl⟩
#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_weak_star_tendsto
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBCNN_tendsto /-
theorem tendsto_iff_forall_toWeakDualBCNN_tendsto {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBCNN f) F (𝓝 (μ.toWeakDualBCNN f)) :=
by rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]; rfl
#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBCNN_tendsto
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNN_tendsto /-
theorem tendsto_iff_forall_testAgainstNN_tendsto {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNN f) F (𝓝 (μ.testAgainstNN f)) :=
by rw [finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto]; rfl
#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNN_tendsto
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNN_of_tendsto_zero_mass /-
/-- If the total masses of finite measures tend to zero, then the measures tend to
zero. This formulation concerns the associated functionals on bounded continuous
nonnegative test functions. See `finite_measure.tendsto_zero_of_tendsto_zero_mass` for
@@ -564,7 +639,9 @@ theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type _} {F : Filte
have key := tendsto_mul.comp lim_pair
rwa [MulZeroClass.mul_zero] at key
#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNN_of_tendsto_zero_mass
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_zero_of_tendsto_zero_mass /-
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
(mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) : Tendsto μs F (𝓝 0) :=
@@ -574,7 +651,9 @@ theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs :
convert tendsto_zero_test_against_nn_of_tendsto_zero_mass mass_lim f
rw [zero.test_against_nn_apply]
#align measure_theory.finite_measure.tendsto_zero_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_of_tendsto_zero_mass
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto /-
/-- A characterization of weak convergence in terms of integrals of bounded continuous
nonnegative functions. -/
theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
@@ -587,6 +666,7 @@ theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs
simp_rw [to_weak_dual_bcnn_apply _ _, ← test_against_nn_coe_eq, ENNReal.tendsto_coe,
ENNReal.toNNReal_coe]
#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto
+-/
end FiniteMeasure
@@ -601,6 +681,7 @@ This section is about bounded convergence theorems for finite measures.
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
+#print MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const /-
/-- A bounded convergence theorem for a finite measure:
If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
limit, then their integrals against the finite measure tend to the integral of the limit.
@@ -624,7 +705,9 @@ theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L
· simpa only [ENNReal.coe_le_coe] using fs_le_const
· simpa only [ENNReal.tendsto_coe] using fs_lim
#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_of_le_const /-
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant
and tend pointwise to a limit, then their integrals (`measure_theory.lintegral`) against the finite
@@ -641,7 +724,9 @@ theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasure Ω) {fs : ℕ →
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
#align measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_of_le_const
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_filter_of_le_const /-
/-- A bounded convergence theorem for a finite measure:
If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
limit, then their integrals against the finite measure tend to the integral of the limit.
@@ -666,7 +751,9 @@ theorem tendsto_testAgainstNN_filter_of_le_const {ι : Type _} {L : Filter ι}
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne).comp
exact tendsto_lintegral_nn_filter_of_le_const μ fs_le_const fs_lim
#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_filter_of_le_const
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_of_le_const /-
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant and
tend pointwise to a limit, then their integrals (`measure_theory.finite_measure.test_against_nn`)
@@ -686,6 +773,7 @@ theorem tendsto_testAgainstNN_of_le_const {μ : FiniteMeasure Ω} {fs : ℕ →
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_of_le_const
+-/
end FiniteMeasureBoundedConvergence
@@ -701,6 +789,7 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
+#print MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_nnreal /-
theorem integrable_of_boundedContinuous_to_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
@@ -708,7 +797,9 @@ theorem integrable_of_boundedContinuous_to_nnreal (μ : Measure Ω) [IsFiniteMea
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_nnreal
+-/
+#print MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_real /-
theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
Integrable (⇑f) μ :=
by
@@ -723,20 +814,26 @@ theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasu
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_real
+-/
+#print BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub /-
theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
∫ ω, f ω ∂μ = ∫ ω, f.nnrealPart ω ∂μ - ∫ ω, (-f).nnrealPart ω ∂μ := by
simp only [f.self_eq_nnreal_part_sub_nnreal_part_neg, Pi.sub_apply, integral_sub,
integrable_of_bounded_continuous_to_nnreal]
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
+-/
+#print MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real /-
theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type _} [MeasurableSpace Ω]
[TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
∫⁻ ω, ENNReal.ofReal (f ω) ∂μ < ∞ :=
lintegral_lt_top_of_boundedContinuous_to_nnreal _ f.nnrealPart
#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto /-
theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω}
(h :
@@ -765,7 +862,9 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
simpa only [← aux, ← auxs] using h f₀
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
+-/
+#print BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral /-
theorem BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
(μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
by
@@ -775,7 +874,9 @@ theorem BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral (f : Ω
· apply eventually_of_forall
simp only [Pi.zero_apply, NNReal.zero_le_coe, imp_true_iff]
#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral
+-/
+#print MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto /-
/-- A characterization of weak convergence in terms of integrals of bounded continuous
real-valued functions. -/
theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
@@ -807,6 +908,7 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
tends_neg
exact tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
+-/
end FiniteMeasureConvergenceByBoundedContinuousFunctions
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3e83f0fa4391c8740f7d773a7a9b74e311ae2a3
@@ -346,7 +346,7 @@ theorem BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type
#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable
theorem MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
- [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
+ [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : ∫⁻ ω, f ω ∂μ < ∞ :=
by
apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
use nndist f 0
@@ -726,14 +726,14 @@ theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasu
theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- (∫ ω, f ω ∂μ) = (∫ ω, f.nnrealPart ω ∂μ) - ∫ ω, (-f).nnrealPart ω ∂μ := by
+ ∫ ω, f ω ∂μ = ∫ ω, f.nnrealPart ω ∂μ - ∫ ω, (-f).nnrealPart ω ∂μ := by
simp only [f.self_eq_nnreal_part_sub_nnreal_part_neg, Pi.sub_apply, integral_sub,
integrable_of_bounded_continuous_to_nnreal]
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type _} [MeasurableSpace Ω]
[TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- (∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
+ ∫⁻ ω, ENNReal.ofReal (f ω) ∂μ < ∞ :=
lintegral_lt_top_of_boundedContinuous_to_nnreal _ f.nnrealPart
#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kalle Kytölä
! This file was ported from Lean 3 source module measure_theory.measure.finite_measure
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 7e5137f579de09a059a5ce98f364a04e221aabf0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.MeasureTheory.Integral.Bochner
/-!
# Finite measures
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines the type of finite measures on a given measurable space. When the underlying
space has a topology and the measurable space structure (sigma algebra) is finer than the Borel
sigma algebra, then the type of finite measures is equipped with the topology of weak convergence
mathlib commit https://github.com/leanprover-community/mathlib/commit/58a272265b5e05f258161260dd2c5d247213cbd3
@@ -107,19 +107,23 @@ associated weak topology (essentially the weak-star topology on the dual of `Ω
variable {Ω : Type _} [MeasurableSpace Ω]
+#print MeasureTheory.FiniteMeasure /-
/-- Finite measures are defined as the subtype of measures that have the property of being finite
measures (i.e., their total mass is finite). -/
def MeasureTheory.FiniteMeasure (Ω : Type _) [MeasurableSpace Ω] : Type _ :=
{ μ : Measure Ω // IsFiniteMeasure μ }
#align measure_theory.finite_measure MeasureTheory.FiniteMeasure
+-/
/-- A finite measure can be interpreted as a measure. -/
instance : Coe (FiniteMeasure Ω) (MeasureTheory.Measure Ω) :=
coeSubtype
+#print MeasureTheory.FiniteMeasure.isFiniteMeasure /-
instance isFiniteMeasure (μ : FiniteMeasure Ω) : IsFiniteMeasure (μ : Measure Ω) :=
μ.Prop
#align measure_theory.finite_measure.is_finite_measure MeasureTheory.FiniteMeasure.isFiniteMeasure
+-/
instance : CoeFun (FiniteMeasure Ω) fun _ => Set Ω → ℝ≥0 :=
⟨fun μ s => (μ s).toNNReal⟩
@@ -129,46 +133,60 @@ theorem coeFn_eq_toNNReal_coeFn_to_measure (ν : FiniteMeasure Ω) :
rfl
#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasure.coeFn_eq_toNNReal_coeFn_to_measure
+#print MeasureTheory.FiniteMeasure.ennreal_coeFn_eq_coeFn_toMeasure /-
@[simp]
-theorem eNNReal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasure Ω) (s : Set Ω) :
+theorem ennreal_coeFn_eq_coeFn_toMeasure (ν : FiniteMeasure Ω) (s : Set Ω) :
(ν s : ℝ≥0∞) = (ν : Measure Ω) s :=
ENNReal.coe_toNNReal (measure_lt_top (↑ν) s).Ne
-#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasure.eNNReal_coeFn_eq_coeFn_to_measure
+#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasure.ennreal_coeFn_eq_coeFn_toMeasure
+-/
+#print MeasureTheory.FiniteMeasure.val_eq_toMeasure /-
@[simp]
-theorem val_eq_to_measure (ν : FiniteMeasure Ω) : ν.val = (ν : Measure Ω) :=
+theorem val_eq_toMeasure (ν : FiniteMeasure Ω) : ν.val = (ν : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.val_eq_to_measure MeasureTheory.FiniteMeasure.val_eq_to_measure
+#align measure_theory.finite_measure.val_eq_to_measure MeasureTheory.FiniteMeasure.val_eq_toMeasure
+-/
-theorem coe_injective : Function.Injective (coe : FiniteMeasure Ω → Measure Ω) :=
+#print MeasureTheory.FiniteMeasure.toMeasure_injective /-
+theorem toMeasure_injective : Function.Injective (coe : FiniteMeasure Ω → Measure Ω) :=
Subtype.coe_injective
-#align measure_theory.finite_measure.coe_injective MeasureTheory.FiniteMeasure.coe_injective
+#align measure_theory.finite_measure.coe_injective MeasureTheory.FiniteMeasure.toMeasure_injective
+-/
+#print MeasureTheory.FiniteMeasure.apply_mono /-
theorem apply_mono (μ : FiniteMeasure Ω) {s₁ s₂ : Set Ω} (h : s₁ ⊆ s₂) : μ s₁ ≤ μ s₂ :=
by
change ((μ : Measure Ω) s₁).toNNReal ≤ ((μ : Measure Ω) s₂).toNNReal
have key : (μ : Measure Ω) s₁ ≤ (μ : Measure Ω) s₂ := (μ : Measure Ω).mono h
apply (ENNReal.toNNReal_le_toNNReal (measure_ne_top _ s₁) (measure_ne_top _ s₂)).mpr key
#align measure_theory.finite_measure.apply_mono MeasureTheory.FiniteMeasure.apply_mono
+-/
+#print MeasureTheory.FiniteMeasure.mass /-
/-- The (total) mass of a finite measure `μ` is `μ univ`, i.e., the cast to `nnreal` of
`(μ : measure Ω) univ`. -/
def mass (μ : FiniteMeasure Ω) : ℝ≥0 :=
μ univ
#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasure.mass
+-/
+#print MeasureTheory.FiniteMeasure.ennreal_mass /-
@[simp]
-theorem eNNReal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
- eNNReal_coeFn_eq_coeFn_to_measure μ Set.univ
-#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.eNNReal_mass
+theorem ennreal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
+ ennreal_coeFn_eq_coeFn_toMeasure μ Set.univ
+#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.ennreal_mass
+-/
-instance hasZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasureZero⟩
-#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.hasZero
+#print MeasureTheory.FiniteMeasure.instZero /-
+instance instZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasureZero⟩
+#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.instZero
+-/
@[simp]
-theorem Zero.mass : (0 : FiniteMeasure Ω).mass = 0 :=
+theorem MeasureTheory.FiniteMeasure.zero_mass : (0 : FiniteMeasure Ω).mass = 0 :=
rfl
-#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasure.Zero.mass
+#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasure.zero_mass
@[simp]
theorem mass_zero_iff (μ : FiniteMeasure Ω) : μ.mass = 0 ↔ μ = 0 :=
@@ -185,18 +203,22 @@ theorem mass_nonzero_iff (μ : FiniteMeasure Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
exact finite_measure.mass_zero_iff μ
#align measure_theory.finite_measure.mass_nonzero_iff MeasureTheory.FiniteMeasure.mass_nonzero_iff
+#print MeasureTheory.FiniteMeasure.eq_of_forall_toMeasure_apply_eq /-
@[ext]
-theorem eq_of_forall_measure_apply_eq (μ ν : FiniteMeasure Ω)
+theorem eq_of_forall_toMeasure_apply_eq (μ ν : FiniteMeasure Ω)
(h : ∀ s : Set Ω, MeasurableSet s → (μ : Measure Ω) s = (ν : Measure Ω) s) : μ = ν := by ext1;
ext1 s s_mble; exact h s s_mble
-#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_measure_apply_eq
+#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_toMeasure_apply_eq
+-/
+#print MeasureTheory.FiniteMeasure.eq_of_forall_apply_eq /-
theorem eq_of_forall_apply_eq (μ ν : FiniteMeasure Ω)
(h : ∀ s : Set Ω, MeasurableSet s → μ s = ν s) : μ = ν :=
by
ext1 s s_mble
simpa [ennreal_coe_fn_eq_coe_fn_to_measure] using congr_arg (coe : ℝ≥0 → ℝ≥0∞) (h s s_mble)
#align measure_theory.finite_measure.eq_of_forall_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_apply_eq
+-/
instance : Inhabited (FiniteMeasure Ω) :=
⟨0⟩
@@ -209,20 +231,24 @@ variable {R : Type _} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ
instance : SMul R (FiniteMeasure Ω)
where smul (c : R) μ := ⟨c • μ, MeasureTheory.isFiniteMeasureSMulOfNNRealTower⟩
+#print MeasureTheory.FiniteMeasure.toMeasure_zero /-
@[simp, norm_cast]
-theorem coe_zero : (coe : FiniteMeasure Ω → Measure Ω) 0 = 0 :=
+theorem toMeasure_zero : (coe : FiniteMeasure Ω → Measure Ω) 0 = 0 :=
rfl
-#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasure.coe_zero
+#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasure.toMeasure_zero
+-/
+#print MeasureTheory.FiniteMeasure.toMeasure_add /-
@[simp, norm_cast]
-theorem coe_add (μ ν : FiniteMeasure Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
+theorem toMeasure_add (μ ν : FiniteMeasure Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasure.coe_add
+#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasure.toMeasure_add
+-/
@[simp, norm_cast]
-theorem coe_smul (c : R) (μ : FiniteMeasure Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
+theorem toMeasure_smul (c : R) (μ : FiniteMeasure Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasure.coe_smul
+#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasure.toMeasure_smul
@[simp, norm_cast]
theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) := by funext; rfl
@@ -240,36 +266,40 @@ theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
instance : AddCommMonoid (FiniteMeasure Ω) :=
- coe_injective.AddCommMonoid coe coe_zero coe_add fun _ _ => coe_smul _ _
+ toMeasure_injective.AddCommMonoid coe toMeasure_zero toMeasure_add fun _ _ => toMeasure_smul _ _
/-- Coercion is an `add_monoid_hom`. -/
@[simps]
-def coeAddMonoidHom : FiniteMeasure Ω →+ Measure Ω
+def toMeasureAddMonoidHom : FiniteMeasure Ω →+ Measure Ω
where
toFun := coe
- map_zero' := coe_zero
- map_add' := coe_add
-#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasure.coeAddMonoidHom
+ map_zero' := toMeasure_zero
+ map_add' := toMeasure_add
+#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasure.toMeasureAddMonoidHom
instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
- Function.Injective.module _ coeAddMonoidHom coe_injective coe_smul
+ Function.Injective.module _ toMeasureAddMonoidHom toMeasure_injective toMeasure_smul
@[simp]
theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) (s : Set Ω) :
(c • μ) s = c • μ s := by simp only [coe_fn_smul, Pi.smul_apply]
#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasure.coeFn_smul_apply
+#print MeasureTheory.FiniteMeasure.restrict /-
/-- Restrict a finite measure μ to a set A. -/
def restrict (μ : FiniteMeasure Ω) (A : Set Ω) : FiniteMeasure Ω
where
val := (μ : Measure Ω).restrict A
property := MeasureTheory.isFiniteMeasureRestrict μ A
#align measure_theory.finite_measure.restrict MeasureTheory.FiniteMeasure.restrict
+-/
+#print MeasureTheory.FiniteMeasure.restrict_measure_eq /-
theorem restrict_measure_eq (μ : FiniteMeasure Ω) (A : Set Ω) :
(μ.restrict A : Measure Ω) = (μ : Measure Ω).restrict A :=
rfl
#align measure_theory.finite_measure.restrict_measure_eq MeasureTheory.FiniteMeasure.restrict_measure_eq
+-/
theorem restrict_apply_measure (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω}
(s_mble : MeasurableSet s) : (μ.restrict A : Measure Ω) s = (μ : Measure Ω) (s ∩ A) :=
@@ -283,9 +313,11 @@ theorem restrict_apply (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω} (s_mble
exact measure.restrict_apply s_mble
#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasure.restrict_apply
+#print MeasureTheory.FiniteMeasure.restrict_mass /-
theorem restrict_mass (μ : FiniteMeasure Ω) (A : Set Ω) : (μ.restrict A).mass = μ A := by
simp only [mass, restrict_apply μ A MeasurableSet.univ, univ_inter]
#align measure_theory.finite_measure.restrict_mass MeasureTheory.FiniteMeasure.restrict_mass
+-/
theorem restrict_eq_zero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A = 0 ↔ μ A = 0 := by
rw [← mass_zero_iff, restrict_mass]
@@ -300,17 +332,17 @@ variable [TopologicalSpace Ω]
/-- The pairing of a finite (Borel) measure `μ` with a nonnegative bounded continuous
function is obtained by (Lebesgue) integrating the (test) function against the measure.
This is `finite_measure.test_against_nn`. -/
-def testAgainstNn (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
+def testAgainstNN (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
-#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNn
+#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNN
-theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _}
+theorem BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type _}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
Measurable fun ω => (f ω : ℝ≥0∞) :=
measurable_coe_nnreal_ennreal.comp f.Continuous.Measurable
-#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable
+#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable
-theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Measure Ω)
+theorem MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
by
apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
@@ -323,67 +355,70 @@ theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Mea
ext
simp only [Real.coe_toNNReal', max_eq_left_iff, Subtype.coe_mk, coe_nndist]
rwa [Eq] at key
-#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal
+#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal
@[simp]
-theorem testAgainstNn_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
- (μ.testAgainstNn f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
- ENNReal.coe_toNNReal (lintegral_lt_top_of_bounded_continuous_to_nNReal _ f).Ne
-#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNn_coe_eq
+theorem testAgainstNN_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
+ (μ.testAgainstNN f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
+ ENNReal.coe_toNNReal (lintegral_lt_top_of_boundedContinuous_to_nnreal _ f).Ne
+#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNN_coe_eq
-theorem testAgainstNn_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
- μ.testAgainstNn (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
+theorem testAgainstNN_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
+ μ.testAgainstNN (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
simp [← ENNReal.coe_eq_coe]
-#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNn_const
+#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNN_const
-theorem testAgainstNn_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
- μ.testAgainstNn f ≤ μ.testAgainstNn g :=
+theorem testAgainstNN_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
+ μ.testAgainstNN f ≤ μ.testAgainstNN g :=
by
simp only [← ENNReal.coe_le_coe, test_against_nn_coe_eq]
exact lintegral_mono fun ω => ENNReal.coe_mono (f_le_g ω)
-#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNn_mono
+#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNN_mono
@[simp]
-theorem testAgainstNn_zero (μ : FiniteMeasure Ω) : μ.testAgainstNn 0 = 0 := by
+theorem testAgainstNN_zero (μ : FiniteMeasure Ω) : μ.testAgainstNN 0 = 0 := by
simpa only [MulZeroClass.zero_mul] using μ.test_against_nn_const 0
-#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNn_zero
+#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNN_zero
+#print MeasureTheory.FiniteMeasure.testAgainstNN_one /-
@[simp]
-theorem testAgainstNn_one (μ : FiniteMeasure Ω) : μ.testAgainstNn 1 = μ.mass :=
+theorem testAgainstNN_one (μ : FiniteMeasure Ω) : μ.testAgainstNN 1 = μ.mass :=
by
simp only [test_against_nn, coe_one, Pi.one_apply, ENNReal.coe_one, lintegral_one]
rfl
-#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasure.testAgainstNn_one
+#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasure.testAgainstNN_one
+-/
@[simp]
-theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasure Ω).testAgainstNn f = 0 := by
+theorem MeasureTheory.FiniteMeasure.zero_testAgainstNN_apply (f : Ω →ᵇ ℝ≥0) :
+ (0 : FiniteMeasure Ω).testAgainstNN f = 0 := by
simp only [test_against_nn, coe_zero, lintegral_zero_measure, ENNReal.zero_toNNReal]
-#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasure.Zero.testAgainstNn_apply
+#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasure.zero_testAgainstNN_apply
-theorem Zero.testAgainstNn : (0 : FiniteMeasure Ω).testAgainstNn = 0 := by funext;
- simp only [zero.test_against_nn_apply, Pi.zero_apply]
-#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasure.Zero.testAgainstNn
+theorem MeasureTheory.FiniteMeasure.zero_testAgainstNN : (0 : FiniteMeasure Ω).testAgainstNN = 0 :=
+ by funext; simp only [zero.test_against_nn_apply, Pi.zero_apply]
+#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasure.zero_testAgainstNN
@[simp]
-theorem smul_testAgainstNn_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
- (c • μ).testAgainstNn f = c • μ.testAgainstNn f := by
+theorem smul_testAgainstNN_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
+ (c • μ).testAgainstNN f = c • μ.testAgainstNN f := by
simp only [test_against_nn, coe_smul, smul_eq_mul, ← ENNReal.smul_toNNReal, ENNReal.smul_def,
lintegral_smul_measure]
-#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNn_apply
+#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNN_apply
variable [OpensMeasurableSpace Ω]
-theorem testAgainstNn_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
- μ.testAgainstNn (f₁ + f₂) = μ.testAgainstNn f₁ + μ.testAgainstNn f₂ :=
+theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
+ μ.testAgainstNN (f₁ + f₂) = μ.testAgainstNN f₁ + μ.testAgainstNN f₂ :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
test_against_nn_coe_eq]
- exact lintegral_add_left (BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable _) _
-#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNn_add
+ exact lintegral_add_left (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable _) _
+#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNN_add
-theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
+theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
[BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
- μ.testAgainstNn (c • f) = c • μ.testAgainstNn f :=
+ μ.testAgainstNN (c • f) = c • μ.testAgainstNN f :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
ENNReal.coe_smul]
@@ -391,11 +426,11 @@ theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
smul_eq_mul]
exact
@lintegral_const_mul _ _ (μ : Measure Ω) (c • 1) _
- (BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable f)
-#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNn_smul
+ (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable f)
+#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNN_smul
-theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
- μ.testAgainstNn f ≤ μ.testAgainstNn g + nndist f g * μ.mass :=
+theorem testAgainstNN_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
+ μ.testAgainstNN f ≤ μ.testAgainstNN g + nndist f g * μ.mass :=
by
simp only [← μ.test_against_nn_const (nndist f g), ← test_against_nn_add, ← ENNReal.coe_le_coe,
BoundedContinuousFunction.coe_add, const_apply, ENNReal.coe_add, Pi.add_apply,
@@ -411,10 +446,10 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g := by rw [← ENNReal.coe_add];
exact ENNReal.coe_mono le'
rwa [coe_nnreal_ennreal_nndist] at le
-#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz_estimate
+#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz_estimate
-theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
- LipschitzWith μ.mass fun f : Ω →ᵇ ℝ≥0 => μ.testAgainstNn f :=
+theorem testAgainstNN_lipschitz (μ : FiniteMeasure Ω) :
+ LipschitzWith μ.mass fun f : Ω →ᵇ ℝ≥0 => μ.testAgainstNN f :=
by
rw [lipschitzWith_iff_dist_le_mul]
intro f₁ f₂
@@ -432,46 +467,46 @@ theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
suffices ↑(μ.test_against_nn f₁) ≤ ↑(μ.test_against_nn f₂) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
rwa [NNReal.coe_add, NNReal.coe_mul] at key
-#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz
+#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasure.testAgainstNN_lipschitz
/-- Finite measures yield elements of the `weak_dual` of bounded continuous nonnegative
functions via `measure_theory.finite_measure.test_against_nn`, i.e., integration. -/
-def toWeakDualBcnn (μ : FiniteMeasure Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
+def toWeakDualBCNN (μ : FiniteMeasure Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
where
- toFun f := μ.testAgainstNn f
- map_add' := testAgainstNn_add μ
- map_smul' := testAgainstNn_smul μ
- cont := μ.testAgainstNn_lipschitz.Continuous
-#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasure.toWeakDualBcnn
+ toFun f := μ.testAgainstNN f
+ map_add' := testAgainstNN_add μ
+ map_smul' := testAgainstNN_smul μ
+ cont := μ.testAgainstNN_lipschitz.Continuous
+#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasure.toWeakDualBCNN
@[simp]
-theorem coe_toWeakDualBcnn (μ : FiniteMeasure Ω) : ⇑μ.toWeakDualBcnn = μ.testAgainstNn :=
+theorem coe_toWeakDualBCNN (μ : FiniteMeasure Ω) : ⇑μ.toWeakDualBCNN = μ.testAgainstNN :=
rfl
-#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasure.coe_toWeakDualBcnn
+#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasure.coe_toWeakDualBCNN
@[simp]
-theorem toWeakDualBcnn_apply (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
- μ.toWeakDualBcnn f = (∫⁻ x, f x ∂(μ : Measure Ω)).toNNReal :=
+theorem toWeakDualBCNN_apply (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
+ μ.toWeakDualBCNN f = (∫⁻ x, f x ∂(μ : Measure Ω)).toNNReal :=
rfl
-#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasure.toWeakDualBcnn_apply
+#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasure.toWeakDualBCNN_apply
/-- The topology of weak convergence on `measure_theory.finite_measure Ω` is inherited (induced)
from the weak-* topology on `weak_dual ℝ≥0 (Ω →ᵇ ℝ≥0)` via the function
`measure_theory.finite_measure.to_weak_dual_bcnn`. -/
instance : TopologicalSpace (FiniteMeasure Ω) :=
- TopologicalSpace.induced toWeakDualBcnn inferInstance
+ TopologicalSpace.induced toWeakDualBCNN inferInstance
-theorem toWeakDualBcnn_continuous : Continuous (@toWeakDualBcnn Ω _ _ _) :=
+theorem toWeakDualBCNN_continuous : Continuous (@toWeakDualBCNN Ω _ _ _) :=
continuous_induced_dom
-#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasure.toWeakDualBcnn_continuous
+#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasure.toWeakDualBCNN_continuous
/- Integration of (nonnegative bounded continuous) test functions against finite Borel measures
depends continuously on the measure. -/
-theorem continuous_testAgainstNn_eval (f : Ω →ᵇ ℝ≥0) :
- Continuous fun μ : FiniteMeasure Ω => μ.testAgainstNn f :=
+theorem continuous_testAgainstNN_eval (f : Ω →ᵇ ℝ≥0) :
+ Continuous fun μ : FiniteMeasure Ω => μ.testAgainstNN f :=
(by apply (WeakBilin.eval_continuous _ _).comp to_weak_dual_bcnn_continuous :
- Continuous ((fun φ : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0) => φ f) ∘ toWeakDualBcnn))
-#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasure.continuous_testAgainstNn_eval
+ Continuous ((fun φ : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0) => φ f) ∘ toWeakDualBCNN))
+#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasure.continuous_testAgainstNN_eval
/-- The total mass of a finite measure depends continuously on the measure. -/
theorem continuous_mass : Continuous fun μ : FiniteMeasure Ω => μ.mass := by
@@ -486,36 +521,36 @@ theorem Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMe
theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} :
- Tendsto μs F (𝓝 μ) ↔ Tendsto (fun i => (μs i).toWeakDualBcnn) F (𝓝 μ.toWeakDualBcnn) :=
+ Tendsto μs F (𝓝 μ) ↔ Tendsto (fun i => (μs i).toWeakDualBCNN) F (𝓝 μ.toWeakDualBCNN) :=
Inducing.tendsto_nhds_iff ⟨rfl⟩
#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_weak_star_tendsto
-theorem tendsto_iff_forall_toWeakDualBcnn_tendsto {γ : Type _} {F : Filter γ}
+theorem tendsto_iff_forall_toWeakDualBCNN_tendsto {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
- ∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBcnn f) F (𝓝 (μ.toWeakDualBcnn f)) :=
+ ∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBCNN f) F (𝓝 (μ.toWeakDualBCNN f)) :=
by rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]; rfl
-#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBcnn_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBCNN_tendsto
-theorem tendsto_iff_forall_testAgainstNn_tendsto {γ : Type _} {F : Filter γ}
+theorem tendsto_iff_forall_testAgainstNN_tendsto {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
- ∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 (μ.testAgainstNn f)) :=
+ ∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNN f) F (𝓝 (μ.testAgainstNN f)) :=
by rw [finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto]; rfl
-#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNn_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNN_tendsto
/-- If the total masses of finite measures tend to zero, then the measures tend to
zero. This formulation concerns the associated functionals on bounded continuous
nonnegative test functions. See `finite_measure.tendsto_zero_of_tendsto_zero_mass` for
a formulation stating the weak convergence of measures. -/
-theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filter γ}
+theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} (mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) (f : Ω →ᵇ ℝ≥0) :
- Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 0) :=
+ Tendsto (fun i => (μs i).testAgainstNN f) F (𝓝 0) :=
by
apply tendsto_iff_dist_tendsto_zero.mpr
- have obs := fun i => (μs i).testAgainstNn_lipschitz_estimate f 0
+ have obs := fun i => (μs i).testAgainstNN_lipschitz_estimate f 0
simp_rw [test_against_nn_zero, zero_add] at obs
- simp_rw [show ∀ i, dist ((μs i).testAgainstNn f) 0 = (μs i).testAgainstNn f by
+ simp_rw [show ∀ i, dist ((μs i).testAgainstNN f) 0 = (μs i).testAgainstNN f by
simp only [dist_nndist, NNReal.nndist_zero_eq_val', eq_self_iff_true, imp_true_iff]]
refine' squeeze_zero (fun i => NNReal.coe_nonneg _) obs _
simp_rw [NNReal.coe_mul]
@@ -525,7 +560,7 @@ theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filte
exact (nnreal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
rwa [MulZeroClass.mul_zero] at key
-#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
+#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNN_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
@@ -617,17 +652,17 @@ This formulation assumes:
A related result using `measure_theory.lintegral` for integration is
`measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const`.
-/
-theorem tendsto_testAgainstNn_filter_of_le_const {ι : Type _} {L : Filter ι}
+theorem tendsto_testAgainstNN_filter_of_le_const {ι : Type _} {L : Filter ι}
[L.IsCountablyGenerated] {μ : FiniteMeasure Ω} {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂(μ : Measure Ω), fs i ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂(μ : Measure Ω), Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
- Tendsto (fun i => μ.testAgainstNn (fs i)) L (𝓝 (μ.testAgainstNn f)) :=
+ Tendsto (fun i => μ.testAgainstNN (fs i)) L (𝓝 (μ.testAgainstNN f)) :=
by
apply
(ENNReal.tendsto_toNNReal
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne).comp
exact tendsto_lintegral_nn_filter_of_le_const μ fs_le_const fs_lim
-#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_filter_of_le_const
+#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_filter_of_le_const
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant and
@@ -640,14 +675,14 @@ Related results:
* `measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const`:
using `measure_theory.lintegral` for integration.
-/
-theorem tendsto_testAgainstNn_of_le_const {μ : FiniteMeasure Ω} {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+theorem tendsto_testAgainstNN_of_le_const {μ : FiniteMeasure Ω} {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ ω, Tendsto (fun n => fs n ω) atTop (𝓝 (f ω))) :
- Tendsto (fun n => μ.testAgainstNn (fs n)) atTop (𝓝 (μ.testAgainstNn f)) :=
- tendsto_testAgainstNn_filter_of_le_const
+ Tendsto (fun n => μ.testAgainstNN (fs n)) atTop (𝓝 (μ.testAgainstNN f)) :=
+ tendsto_testAgainstNN_filter_of_le_const
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
-#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_of_le_const
+#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_of_le_const
end FiniteMeasureBoundedConvergence
@@ -663,15 +698,15 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [IsFiniteMeasure μ]
+theorem integrable_of_boundedContinuous_to_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AEStronglyMeasurable, _⟩
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_nNReal
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_nnreal
-theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
Integrable (⇑f) μ :=
by
refine' ⟨f.continuous.measurable.ae_strongly_measurable, _⟩
@@ -684,7 +719,7 @@ theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [IsFiniteMeas
· exact ENNReal.ofReal_lt_top
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_real
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_real
theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
@@ -693,11 +728,11 @@ theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Meas
integrable_of_bounded_continuous_to_nnreal]
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
-theorem lintegral_lt_top_of_bounded_continuous_to_real {Ω : Type _} [MeasurableSpace Ω]
+theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type _} [MeasurableSpace Ω]
[TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
(∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
- lintegral_lt_top_of_bounded_continuous_to_nNReal _ f.nnrealPart
-#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_bounded_continuous_to_real
+ lintegral_lt_top_of_boundedContinuous_to_nnreal _ f.nnrealPart
+#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real
theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω}
@@ -728,7 +763,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
simpa only [← aux, ← auxs] using h f₀
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
-theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
+theorem BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
(μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
by
rw [integral_eq_lintegral_of_nonneg_ae _
@@ -736,7 +771,7 @@ theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω
· simp only [ENNReal.ofReal_coe_nnreal]
· apply eventually_of_forall
simp only [Pi.zero_apply, NNReal.zero_le_coe, imp_true_iff]
-#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral
+#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral
/-- A characterization of weak convergence in terms of integrals of bounded continuous
real-valued functions. -/
@@ -765,7 +800,7 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
(ENNReal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
(∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)).toReal :=
fun _ => rfl
- simp_rw [aux, BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral] at tends_pos
+ simp_rw [aux, BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral] at tends_pos
tends_neg
exact tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -109,200 +109,200 @@ variable {Ω : Type _} [MeasurableSpace Ω]
/-- Finite measures are defined as the subtype of measures that have the property of being finite
measures (i.e., their total mass is finite). -/
-def MeasureTheory.FiniteMeasureCat (Ω : Type _) [MeasurableSpace Ω] : Type _ :=
- { μ : Measure Ω // FiniteMeasure μ }
-#align measure_theory.finite_measure MeasureTheory.FiniteMeasureCat
+def MeasureTheory.FiniteMeasure (Ω : Type _) [MeasurableSpace Ω] : Type _ :=
+ { μ : Measure Ω // IsFiniteMeasure μ }
+#align measure_theory.finite_measure MeasureTheory.FiniteMeasure
/-- A finite measure can be interpreted as a measure. -/
-instance : Coe (FiniteMeasureCat Ω) (MeasureTheory.Measure Ω) :=
+instance : Coe (FiniteMeasure Ω) (MeasureTheory.Measure Ω) :=
coeSubtype
-instance finiteMeasure (μ : FiniteMeasureCat Ω) : FiniteMeasure (μ : Measure Ω) :=
+instance isFiniteMeasure (μ : FiniteMeasure Ω) : IsFiniteMeasure (μ : Measure Ω) :=
μ.Prop
-#align measure_theory.finite_measure.is_finite_measure MeasureTheory.FiniteMeasureCat.finiteMeasure
+#align measure_theory.finite_measure.is_finite_measure MeasureTheory.FiniteMeasure.isFiniteMeasure
-instance : CoeFun (FiniteMeasureCat Ω) fun _ => Set Ω → ℝ≥0 :=
+instance : CoeFun (FiniteMeasure Ω) fun _ => Set Ω → ℝ≥0 :=
⟨fun μ s => (μ s).toNNReal⟩
-theorem coeFn_eq_toNNReal_coeFn_to_measure (ν : FiniteMeasureCat Ω) :
+theorem coeFn_eq_toNNReal_coeFn_to_measure (ν : FiniteMeasure Ω) :
(ν : Set Ω → ℝ≥0) = fun s => ((ν : Measure Ω) s).toNNReal :=
rfl
-#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasureCat.coeFn_eq_toNNReal_coeFn_to_measure
+#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasure.coeFn_eq_toNNReal_coeFn_to_measure
@[simp]
-theorem eNNReal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasureCat Ω) (s : Set Ω) :
+theorem eNNReal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasure Ω) (s : Set Ω) :
(ν s : ℝ≥0∞) = (ν : Measure Ω) s :=
ENNReal.coe_toNNReal (measure_lt_top (↑ν) s).Ne
-#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasureCat.eNNReal_coeFn_eq_coeFn_to_measure
+#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasure.eNNReal_coeFn_eq_coeFn_to_measure
@[simp]
-theorem val_eq_to_measure (ν : FiniteMeasureCat Ω) : ν.val = (ν : Measure Ω) :=
+theorem val_eq_to_measure (ν : FiniteMeasure Ω) : ν.val = (ν : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.val_eq_to_measure MeasureTheory.FiniteMeasureCat.val_eq_to_measure
+#align measure_theory.finite_measure.val_eq_to_measure MeasureTheory.FiniteMeasure.val_eq_to_measure
-theorem coe_injective : Function.Injective (coe : FiniteMeasureCat Ω → Measure Ω) :=
+theorem coe_injective : Function.Injective (coe : FiniteMeasure Ω → Measure Ω) :=
Subtype.coe_injective
-#align measure_theory.finite_measure.coe_injective MeasureTheory.FiniteMeasureCat.coe_injective
+#align measure_theory.finite_measure.coe_injective MeasureTheory.FiniteMeasure.coe_injective
-theorem apply_mono (μ : FiniteMeasureCat Ω) {s₁ s₂ : Set Ω} (h : s₁ ⊆ s₂) : μ s₁ ≤ μ s₂ :=
+theorem apply_mono (μ : FiniteMeasure Ω) {s₁ s₂ : Set Ω} (h : s₁ ⊆ s₂) : μ s₁ ≤ μ s₂ :=
by
change ((μ : Measure Ω) s₁).toNNReal ≤ ((μ : Measure Ω) s₂).toNNReal
have key : (μ : Measure Ω) s₁ ≤ (μ : Measure Ω) s₂ := (μ : Measure Ω).mono h
apply (ENNReal.toNNReal_le_toNNReal (measure_ne_top _ s₁) (measure_ne_top _ s₂)).mpr key
-#align measure_theory.finite_measure.apply_mono MeasureTheory.FiniteMeasureCat.apply_mono
+#align measure_theory.finite_measure.apply_mono MeasureTheory.FiniteMeasure.apply_mono
/-- The (total) mass of a finite measure `μ` is `μ univ`, i.e., the cast to `nnreal` of
`(μ : measure Ω) univ`. -/
-def mass (μ : FiniteMeasureCat Ω) : ℝ≥0 :=
+def mass (μ : FiniteMeasure Ω) : ℝ≥0 :=
μ univ
-#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasureCat.mass
+#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasure.mass
@[simp]
-theorem eNNReal_mass {μ : FiniteMeasureCat Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
+theorem eNNReal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
eNNReal_coeFn_eq_coeFn_to_measure μ Set.univ
-#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasureCat.eNNReal_mass
+#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.eNNReal_mass
-instance hasZero : Zero (FiniteMeasureCat Ω) where zero := ⟨0, MeasureTheory.finiteMeasureZero⟩
-#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasureCat.hasZero
+instance hasZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasureZero⟩
+#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.hasZero
@[simp]
-theorem Zero.mass : (0 : FiniteMeasureCat Ω).mass = 0 :=
+theorem Zero.mass : (0 : FiniteMeasure Ω).mass = 0 :=
rfl
-#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasureCat.Zero.mass
+#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasure.Zero.mass
@[simp]
-theorem mass_zero_iff (μ : FiniteMeasureCat Ω) : μ.mass = 0 ↔ μ = 0 :=
+theorem mass_zero_iff (μ : FiniteMeasure Ω) : μ.mass = 0 ↔ μ = 0 :=
by
refine' ⟨fun μ_mass => _, fun hμ => by simp only [hμ, zero.mass]⟩
ext1
apply measure.measure_univ_eq_zero.mp
rwa [← ennreal_mass, ENNReal.coe_eq_zero]
-#align measure_theory.finite_measure.mass_zero_iff MeasureTheory.FiniteMeasureCat.mass_zero_iff
+#align measure_theory.finite_measure.mass_zero_iff MeasureTheory.FiniteMeasure.mass_zero_iff
-theorem mass_nonzero_iff (μ : FiniteMeasureCat Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
+theorem mass_nonzero_iff (μ : FiniteMeasure Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
by
rw [not_iff_not]
exact finite_measure.mass_zero_iff μ
-#align measure_theory.finite_measure.mass_nonzero_iff MeasureTheory.FiniteMeasureCat.mass_nonzero_iff
+#align measure_theory.finite_measure.mass_nonzero_iff MeasureTheory.FiniteMeasure.mass_nonzero_iff
@[ext]
-theorem eq_of_forall_measure_apply_eq (μ ν : FiniteMeasureCat Ω)
+theorem eq_of_forall_measure_apply_eq (μ ν : FiniteMeasure Ω)
(h : ∀ s : Set Ω, MeasurableSet s → (μ : Measure Ω) s = (ν : Measure Ω) s) : μ = ν := by ext1;
ext1 s s_mble; exact h s s_mble
-#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasureCat.eq_of_forall_measure_apply_eq
+#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_measure_apply_eq
-theorem eq_of_forall_apply_eq (μ ν : FiniteMeasureCat Ω)
+theorem eq_of_forall_apply_eq (μ ν : FiniteMeasure Ω)
(h : ∀ s : Set Ω, MeasurableSet s → μ s = ν s) : μ = ν :=
by
ext1 s s_mble
simpa [ennreal_coe_fn_eq_coe_fn_to_measure] using congr_arg (coe : ℝ≥0 → ℝ≥0∞) (h s s_mble)
-#align measure_theory.finite_measure.eq_of_forall_apply_eq MeasureTheory.FiniteMeasureCat.eq_of_forall_apply_eq
+#align measure_theory.finite_measure.eq_of_forall_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_apply_eq
-instance : Inhabited (FiniteMeasureCat Ω) :=
+instance : Inhabited (FiniteMeasure Ω) :=
⟨0⟩
-instance : Add (FiniteMeasureCat Ω) where add μ ν := ⟨μ + ν, MeasureTheory.finiteMeasureAdd⟩
+instance : Add (FiniteMeasure Ω) where add μ ν := ⟨μ + ν, MeasureTheory.isFiniteMeasureAdd⟩
variable {R : Type _} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ≥0 ℝ≥0∞]
[IsScalarTower R ℝ≥0∞ ℝ≥0∞]
-instance : SMul R (FiniteMeasureCat Ω)
- where smul (c : R) μ := ⟨c • μ, MeasureTheory.finiteMeasureSmulOfNNRealTower⟩
+instance : SMul R (FiniteMeasure Ω)
+ where smul (c : R) μ := ⟨c • μ, MeasureTheory.isFiniteMeasureSMulOfNNRealTower⟩
@[simp, norm_cast]
-theorem coe_zero : (coe : FiniteMeasureCat Ω → Measure Ω) 0 = 0 :=
+theorem coe_zero : (coe : FiniteMeasure Ω → Measure Ω) 0 = 0 :=
rfl
-#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasureCat.coe_zero
+#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasure.coe_zero
@[simp, norm_cast]
-theorem coe_add (μ ν : FiniteMeasureCat Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
+theorem coe_add (μ ν : FiniteMeasure Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasureCat.coe_add
+#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasure.coe_add
@[simp, norm_cast]
-theorem coe_smul (c : R) (μ : FiniteMeasureCat Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
+theorem coe_smul (c : R) (μ : FiniteMeasure Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasureCat.coe_smul
+#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasure.coe_smul
@[simp, norm_cast]
-theorem coeFn_zero : (⇑(0 : FiniteMeasureCat Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) := by funext; rfl
-#align measure_theory.finite_measure.coe_fn_zero MeasureTheory.FiniteMeasureCat.coeFn_zero
+theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) := by funext; rfl
+#align measure_theory.finite_measure.coe_fn_zero MeasureTheory.FiniteMeasure.coeFn_zero
@[simp, norm_cast]
-theorem coeFn_add (μ ν : FiniteMeasureCat Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) :=
- by funext; simp [← ENNReal.coe_eq_coe]
-#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasureCat.coeFn_add
+theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) := by
+ funext; simp [← ENNReal.coe_eq_coe]
+#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
@[simp, norm_cast]
-theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasureCat Ω) :
+theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by funext;
simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
-#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasureCat.coeFn_smul
+#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
-instance : AddCommMonoid (FiniteMeasureCat Ω) :=
+instance : AddCommMonoid (FiniteMeasure Ω) :=
coe_injective.AddCommMonoid coe coe_zero coe_add fun _ _ => coe_smul _ _
/-- Coercion is an `add_monoid_hom`. -/
@[simps]
-def coeAddMonoidHom : FiniteMeasureCat Ω →+ Measure Ω
+def coeAddMonoidHom : FiniteMeasure Ω →+ Measure Ω
where
toFun := coe
map_zero' := coe_zero
map_add' := coe_add
-#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasureCat.coeAddMonoidHom
+#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasure.coeAddMonoidHom
-instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasureCat Ω) :=
+instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
Function.Injective.module _ coeAddMonoidHom coe_injective coe_smul
@[simp]
-theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasureCat Ω) (s : Set Ω) :
+theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) (s : Set Ω) :
(c • μ) s = c • μ s := by simp only [coe_fn_smul, Pi.smul_apply]
-#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasureCat.coeFn_smul_apply
+#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasure.coeFn_smul_apply
/-- Restrict a finite measure μ to a set A. -/
-def restrict (μ : FiniteMeasureCat Ω) (A : Set Ω) : FiniteMeasureCat Ω
+def restrict (μ : FiniteMeasure Ω) (A : Set Ω) : FiniteMeasure Ω
where
val := (μ : Measure Ω).restrict A
- property := MeasureTheory.finiteMeasureRestrict μ A
-#align measure_theory.finite_measure.restrict MeasureTheory.FiniteMeasureCat.restrict
+ property := MeasureTheory.isFiniteMeasureRestrict μ A
+#align measure_theory.finite_measure.restrict MeasureTheory.FiniteMeasure.restrict
-theorem restrict_measure_eq (μ : FiniteMeasureCat Ω) (A : Set Ω) :
+theorem restrict_measure_eq (μ : FiniteMeasure Ω) (A : Set Ω) :
(μ.restrict A : Measure Ω) = (μ : Measure Ω).restrict A :=
rfl
-#align measure_theory.finite_measure.restrict_measure_eq MeasureTheory.FiniteMeasureCat.restrict_measure_eq
+#align measure_theory.finite_measure.restrict_measure_eq MeasureTheory.FiniteMeasure.restrict_measure_eq
-theorem restrict_apply_measure (μ : FiniteMeasureCat Ω) (A : Set Ω) {s : Set Ω}
+theorem restrict_apply_measure (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω}
(s_mble : MeasurableSet s) : (μ.restrict A : Measure Ω) s = (μ : Measure Ω) (s ∩ A) :=
Measure.restrict_apply s_mble
-#align measure_theory.finite_measure.restrict_apply_measure MeasureTheory.FiniteMeasureCat.restrict_apply_measure
+#align measure_theory.finite_measure.restrict_apply_measure MeasureTheory.FiniteMeasure.restrict_apply_measure
-theorem restrict_apply (μ : FiniteMeasureCat Ω) (A : Set Ω) {s : Set Ω} (s_mble : MeasurableSet s) :
+theorem restrict_apply (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω} (s_mble : MeasurableSet s) :
(μ.restrict A) s = μ (s ∩ A) :=
by
apply congr_arg ENNReal.toNNReal
exact measure.restrict_apply s_mble
-#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasureCat.restrict_apply
+#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasure.restrict_apply
-theorem restrict_mass (μ : FiniteMeasureCat Ω) (A : Set Ω) : (μ.restrict A).mass = μ A := by
+theorem restrict_mass (μ : FiniteMeasure Ω) (A : Set Ω) : (μ.restrict A).mass = μ A := by
simp only [mass, restrict_apply μ A MeasurableSet.univ, univ_inter]
-#align measure_theory.finite_measure.restrict_mass MeasureTheory.FiniteMeasureCat.restrict_mass
+#align measure_theory.finite_measure.restrict_mass MeasureTheory.FiniteMeasure.restrict_mass
-theorem restrict_eq_zero_iff (μ : FiniteMeasureCat Ω) (A : Set Ω) : μ.restrict A = 0 ↔ μ A = 0 := by
+theorem restrict_eq_zero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A = 0 ↔ μ A = 0 := by
rw [← mass_zero_iff, restrict_mass]
-#align measure_theory.finite_measure.restrict_eq_zero_iff MeasureTheory.FiniteMeasureCat.restrict_eq_zero_iff
+#align measure_theory.finite_measure.restrict_eq_zero_iff MeasureTheory.FiniteMeasure.restrict_eq_zero_iff
-theorem restrict_nonzero_iff (μ : FiniteMeasureCat Ω) (A : Set Ω) : μ.restrict A ≠ 0 ↔ μ A ≠ 0 := by
+theorem restrict_nonzero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A ≠ 0 ↔ μ A ≠ 0 := by
rw [← mass_nonzero_iff, restrict_mass]
-#align measure_theory.finite_measure.restrict_nonzero_iff MeasureTheory.FiniteMeasureCat.restrict_nonzero_iff
+#align measure_theory.finite_measure.restrict_nonzero_iff MeasureTheory.FiniteMeasure.restrict_nonzero_iff
variable [TopologicalSpace Ω]
/-- The pairing of a finite (Borel) measure `μ` with a nonnegative bounded continuous
function is obtained by (Lebesgue) integrating the (test) function against the measure.
This is `finite_measure.test_against_nn`. -/
-def testAgainstNn (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
+def testAgainstNn (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
-#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasureCat.testAgainstNn
+#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNn
theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
@@ -311,7 +311,7 @@ theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _
#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable
theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Measure Ω)
- [FiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
+ [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
by
apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
use nndist f 0
@@ -326,63 +326,63 @@ theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Mea
#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal
@[simp]
-theorem testAgainstNn_coe_eq {μ : FiniteMeasureCat Ω} {f : Ω →ᵇ ℝ≥0} :
+theorem testAgainstNn_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
(μ.testAgainstNn f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
ENNReal.coe_toNNReal (lintegral_lt_top_of_bounded_continuous_to_nNReal _ f).Ne
-#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasureCat.testAgainstNn_coe_eq
+#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNn_coe_eq
-theorem testAgainstNn_const (μ : FiniteMeasureCat Ω) (c : ℝ≥0) :
+theorem testAgainstNn_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
μ.testAgainstNn (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
simp [← ENNReal.coe_eq_coe]
-#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasureCat.testAgainstNn_const
+#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNn_const
-theorem testAgainstNn_mono (μ : FiniteMeasureCat Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
+theorem testAgainstNn_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
μ.testAgainstNn f ≤ μ.testAgainstNn g :=
by
simp only [← ENNReal.coe_le_coe, test_against_nn_coe_eq]
exact lintegral_mono fun ω => ENNReal.coe_mono (f_le_g ω)
-#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasureCat.testAgainstNn_mono
+#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNn_mono
@[simp]
-theorem testAgainstNn_zero (μ : FiniteMeasureCat Ω) : μ.testAgainstNn 0 = 0 := by
+theorem testAgainstNn_zero (μ : FiniteMeasure Ω) : μ.testAgainstNn 0 = 0 := by
simpa only [MulZeroClass.zero_mul] using μ.test_against_nn_const 0
-#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasureCat.testAgainstNn_zero
+#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNn_zero
@[simp]
-theorem testAgainstNn_one (μ : FiniteMeasureCat Ω) : μ.testAgainstNn 1 = μ.mass :=
+theorem testAgainstNn_one (μ : FiniteMeasure Ω) : μ.testAgainstNn 1 = μ.mass :=
by
simp only [test_against_nn, coe_one, Pi.one_apply, ENNReal.coe_one, lintegral_one]
rfl
-#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasureCat.testAgainstNn_one
+#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasure.testAgainstNn_one
@[simp]
-theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasureCat Ω).testAgainstNn f = 0 := by
+theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasure Ω).testAgainstNn f = 0 := by
simp only [test_against_nn, coe_zero, lintegral_zero_measure, ENNReal.zero_toNNReal]
-#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasureCat.Zero.testAgainstNn_apply
+#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasure.Zero.testAgainstNn_apply
-theorem Zero.testAgainstNn : (0 : FiniteMeasureCat Ω).testAgainstNn = 0 := by funext;
+theorem Zero.testAgainstNn : (0 : FiniteMeasure Ω).testAgainstNn = 0 := by funext;
simp only [zero.test_against_nn_apply, Pi.zero_apply]
-#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasureCat.Zero.testAgainstNn
+#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasure.Zero.testAgainstNn
@[simp]
-theorem smul_testAgainstNn_apply (c : ℝ≥0) (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) :
+theorem smul_testAgainstNn_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
(c • μ).testAgainstNn f = c • μ.testAgainstNn f := by
simp only [test_against_nn, coe_smul, smul_eq_mul, ← ENNReal.smul_toNNReal, ENNReal.smul_def,
lintegral_smul_measure]
-#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasureCat.smul_testAgainstNn_apply
+#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNn_apply
variable [OpensMeasurableSpace Ω]
-theorem testAgainstNn_add (μ : FiniteMeasureCat Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
+theorem testAgainstNn_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (f₁ + f₂) = μ.testAgainstNn f₁ + μ.testAgainstNn f₂ :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
test_against_nn_coe_eq]
exact lintegral_add_left (BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable _) _
-#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasureCat.testAgainstNn_add
+#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNn_add
theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
- [BoundedSMul R ℝ≥0] (μ : FiniteMeasureCat Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
+ [BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (c • f) = c • μ.testAgainstNn f :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
@@ -392,9 +392,9 @@ theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
exact
@lintegral_const_mul _ _ (μ : Measure Ω) (c • 1) _
(BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable f)
-#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasureCat.testAgainstNn_smul
+#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNn_smul
-theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasureCat Ω) (f g : Ω →ᵇ ℝ≥0) :
+theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn f ≤ μ.testAgainstNn g + nndist f g * μ.mass :=
by
simp only [← μ.test_against_nn_const (nndist f g), ← test_against_nn_add, ← ENNReal.coe_le_coe,
@@ -411,9 +411,9 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasureCat Ω) (f g : Ω
have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g := by rw [← ENNReal.coe_add];
exact ENNReal.coe_mono le'
rwa [coe_nnreal_ennreal_nndist] at le
-#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz_estimate
+#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz_estimate
-theorem testAgainstNn_lipschitz (μ : FiniteMeasureCat Ω) :
+theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
LipschitzWith μ.mass fun f : Ω →ᵇ ℝ≥0 => μ.testAgainstNn f :=
by
rw [lipschitzWith_iff_dist_le_mul]
@@ -432,86 +432,85 @@ theorem testAgainstNn_lipschitz (μ : FiniteMeasureCat Ω) :
suffices ↑(μ.test_against_nn f₁) ≤ ↑(μ.test_against_nn f₂) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
rwa [NNReal.coe_add, NNReal.coe_mul] at key
-#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz
+#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz
/-- Finite measures yield elements of the `weak_dual` of bounded continuous nonnegative
functions via `measure_theory.finite_measure.test_against_nn`, i.e., integration. -/
-def toWeakDualBcnn (μ : FiniteMeasureCat Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
+def toWeakDualBcnn (μ : FiniteMeasure Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
where
toFun f := μ.testAgainstNn f
map_add' := testAgainstNn_add μ
map_smul' := testAgainstNn_smul μ
cont := μ.testAgainstNn_lipschitz.Continuous
-#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasureCat.toWeakDualBcnn
+#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasure.toWeakDualBcnn
@[simp]
-theorem coe_toWeakDualBcnn (μ : FiniteMeasureCat Ω) : ⇑μ.toWeakDualBcnn = μ.testAgainstNn :=
+theorem coe_toWeakDualBcnn (μ : FiniteMeasure Ω) : ⇑μ.toWeakDualBcnn = μ.testAgainstNn :=
rfl
-#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasureCat.coe_toWeakDualBcnn
+#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasure.coe_toWeakDualBcnn
@[simp]
-theorem toWeakDualBcnn_apply (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) :
+theorem toWeakDualBcnn_apply (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
μ.toWeakDualBcnn f = (∫⁻ x, f x ∂(μ : Measure Ω)).toNNReal :=
rfl
-#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasureCat.toWeakDualBcnn_apply
+#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasure.toWeakDualBcnn_apply
/-- The topology of weak convergence on `measure_theory.finite_measure Ω` is inherited (induced)
from the weak-* topology on `weak_dual ℝ≥0 (Ω →ᵇ ℝ≥0)` via the function
`measure_theory.finite_measure.to_weak_dual_bcnn`. -/
-instance : TopologicalSpace (FiniteMeasureCat Ω) :=
+instance : TopologicalSpace (FiniteMeasure Ω) :=
TopologicalSpace.induced toWeakDualBcnn inferInstance
theorem toWeakDualBcnn_continuous : Continuous (@toWeakDualBcnn Ω _ _ _) :=
continuous_induced_dom
-#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasureCat.toWeakDualBcnn_continuous
+#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasure.toWeakDualBcnn_continuous
/- Integration of (nonnegative bounded continuous) test functions against finite Borel measures
depends continuously on the measure. -/
theorem continuous_testAgainstNn_eval (f : Ω →ᵇ ℝ≥0) :
- Continuous fun μ : FiniteMeasureCat Ω => μ.testAgainstNn f :=
+ Continuous fun μ : FiniteMeasure Ω => μ.testAgainstNn f :=
(by apply (WeakBilin.eval_continuous _ _).comp to_weak_dual_bcnn_continuous :
Continuous ((fun φ : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0) => φ f) ∘ toWeakDualBcnn))
-#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasureCat.continuous_testAgainstNn_eval
+#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasure.continuous_testAgainstNn_eval
/-- The total mass of a finite measure depends continuously on the measure. -/
-theorem continuous_mass : Continuous fun μ : FiniteMeasureCat Ω => μ.mass := by
+theorem continuous_mass : Continuous fun μ : FiniteMeasure Ω => μ.mass := by
simp_rw [← test_against_nn_one]; exact continuous_test_against_nn_eval 1
-#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasureCat.continuous_mass
+#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasure.continuous_mass
/-- Convergence of finite measures implies the convergence of their total masses. -/
-theorem Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
- {μ : FiniteMeasureCat Ω} (h : Tendsto μs F (𝓝 μ)) :
- Tendsto (fun i => (μs i).mass) F (𝓝 μ.mass) :=
+theorem Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+ {μ : FiniteMeasure Ω} (h : Tendsto μs F (𝓝 μ)) : Tendsto (fun i => (μs i).mass) F (𝓝 μ.mass) :=
(continuous_mass.Tendsto μ).comp h
#align filter.tendsto.mass Filter.Tendsto.mass
-theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
- {μ : FiniteMeasureCat Ω} :
+theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+ {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔ Tendsto (fun i => (μs i).toWeakDualBcnn) F (𝓝 μ.toWeakDualBcnn) :=
Inducing.tendsto_nhds_iff ⟨rfl⟩
-#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_weak_star_tendsto
+#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_weak_star_tendsto
theorem tendsto_iff_forall_toWeakDualBcnn_tendsto {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
+ {μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBcnn f) F (𝓝 (μ.toWeakDualBcnn f)) :=
by rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]; rfl
-#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_toWeakDualBcnn_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBcnn_tendsto
theorem tendsto_iff_forall_testAgainstNn_tendsto {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
+ {μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 (μ.testAgainstNn f)) :=
by rw [finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto]; rfl
-#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_testAgainstNn_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNn_tendsto
/-- If the total masses of finite measures tend to zero, then the measures tend to
zero. This formulation concerns the associated functionals on bounded continuous
nonnegative test functions. See `finite_measure.tendsto_zero_of_tendsto_zero_mass` for
a formulation stating the weak convergence of measures. -/
theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasureCat Ω} (mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0))
- (f : Ω →ᵇ ℝ≥0) : Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 0) :=
+ {μs : γ → FiniteMeasure Ω} (mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) (f : Ω →ᵇ ℝ≥0) :
+ Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 0) :=
by
apply tendsto_iff_dist_tendsto_zero.mpr
have obs := fun i => (μs i).testAgainstNn_lipschitz_estimate f 0
@@ -526,22 +525,22 @@ theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filte
exact (nnreal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
rwa [MulZeroClass.mul_zero] at key
-#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasureCat.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
+#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
-theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
+theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
(mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) : Tendsto μs F (𝓝 0) :=
by
rw [tendsto_iff_forall_test_against_nn_tendsto]
intro f
convert tendsto_zero_test_against_nn_of_tendsto_zero_mass mass_lim f
rw [zero.test_against_nn_apply]
-#align measure_theory.finite_measure.tendsto_zero_of_tendsto_zero_mass MeasureTheory.FiniteMeasureCat.tendsto_zero_of_tendsto_zero_mass
+#align measure_theory.finite_measure.tendsto_zero_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_of_tendsto_zero_mass
/-- A characterization of weak convergence in terms of integrals of bounded continuous
nonnegative functions. -/
-theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
+theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+ {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0,
Tendsto (fun i => ∫⁻ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫⁻ x, f x ∂(μ : Measure Ω))) :=
@@ -549,7 +548,7 @@ theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ}
rw [tendsto_iff_forall_to_weak_dual_bcnn_tendsto]
simp_rw [to_weak_dual_bcnn_apply _ _, ← test_against_nn_coe_eq, ENNReal.tendsto_coe,
ENNReal.toNNReal_coe]
-#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_lintegral_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto
end FiniteMeasure
@@ -575,7 +574,7 @@ This formulation assumes:
`ℝ≥0∞`-valued.
-/
theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L.IsCountablyGenerated]
- (μ : Measure Ω) [FiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+ (μ : Measure Ω) [IsFiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂μ, fs i ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂μ, Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
Tendsto (fun i => ∫⁻ ω, fs i ω ∂μ) L (𝓝 (∫⁻ ω, f ω ∂μ)) :=
@@ -586,7 +585,7 @@ theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L
(@lintegral_const_lt_top _ _ μ _ _ (@ENNReal.coe_ne_top c)).Ne _
· simpa only [ENNReal.coe_le_coe] using fs_le_const
· simpa only [ENNReal.tendsto_coe] using fs_lim
-#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_lintegral_nn_filter_of_le_const
+#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant
@@ -596,14 +595,14 @@ measure tend to the integral of the limit.
A related result with more general assumptions is
`measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const`.
-/
-theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasureCat Ω) {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasure Ω) {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ ω, Tendsto (fun n => fs n ω) atTop (𝓝 (f ω))) :
Tendsto (fun n => ∫⁻ ω, fs n ω ∂(μ : Measure Ω)) atTop (𝓝 (∫⁻ ω, f ω ∂(μ : Measure Ω))) :=
tendsto_lintegral_nn_filter_of_le_const μ
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
-#align measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_lintegral_nn_of_le_const
+#align measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_of_le_const
/-- A bounded convergence theorem for a finite measure:
If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
@@ -619,7 +618,7 @@ A related result using `measure_theory.lintegral` for integration is
`measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const`.
-/
theorem tendsto_testAgainstNn_filter_of_le_const {ι : Type _} {L : Filter ι}
- [L.IsCountablyGenerated] {μ : FiniteMeasureCat Ω} {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+ [L.IsCountablyGenerated] {μ : FiniteMeasure Ω} {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂(μ : Measure Ω), fs i ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂(μ : Measure Ω), Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
Tendsto (fun i => μ.testAgainstNn (fs i)) L (𝓝 (μ.testAgainstNn f)) :=
@@ -628,7 +627,7 @@ theorem tendsto_testAgainstNn_filter_of_le_const {ι : Type _} {L : Filter ι}
(ENNReal.tendsto_toNNReal
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne).comp
exact tendsto_lintegral_nn_filter_of_le_const μ fs_le_const fs_lim
-#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_testAgainstNn_filter_of_le_const
+#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_filter_of_le_const
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant and
@@ -641,14 +640,14 @@ Related results:
* `measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const`:
using `measure_theory.lintegral` for integration.
-/
-theorem tendsto_testAgainstNn_of_le_const {μ : FiniteMeasureCat Ω} {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+theorem tendsto_testAgainstNn_of_le_const {μ : FiniteMeasure Ω} {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ ω, Tendsto (fun n => fs n ω) atTop (𝓝 (f ω))) :
Tendsto (fun n => μ.testAgainstNn (fs n)) atTop (𝓝 (μ.testAgainstNn f)) :=
tendsto_testAgainstNn_filter_of_le_const
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
-#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_testAgainstNn_of_le_const
+#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_of_le_const
end FiniteMeasureBoundedConvergence
@@ -664,15 +663,15 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [FiniteMeasure μ]
+theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [IsFiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AEStronglyMeasurable, _⟩
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasureCat.integrable_of_bounded_continuous_to_nNReal
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_nNReal
-theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [FiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
Integrable (⇑f) μ :=
by
refine' ⟨f.continuous.measurable.ae_strongly_measurable, _⟩
@@ -685,23 +684,23 @@ theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [FiniteMeasur
· exact ENNReal.ofReal_lt_top
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasureCat.integrable_of_bounded_continuous_to_real
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_real
theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
- [FiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+ [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
(∫ ω, f ω ∂μ) = (∫ ω, f.nnrealPart ω ∂μ) - ∫ ω, (-f).nnrealPart ω ∂μ := by
simp only [f.self_eq_nnreal_part_sub_nnreal_part_neg, Pi.sub_apply, integral_sub,
integrable_of_bounded_continuous_to_nnreal]
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
theorem lintegral_lt_top_of_bounded_continuous_to_real {Ω : Type _} [MeasurableSpace Ω]
- [TopologicalSpace Ω] (μ : Measure Ω) [FiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+ [TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
(∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
lintegral_lt_top_of_bounded_continuous_to_nNReal _ f.nnrealPart
-#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasureCat.lintegral_lt_top_of_bounded_continuous_to_real
+#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_bounded_continuous_to_real
-theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
- {μ : FiniteMeasureCat Ω}
+theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+ {μ : FiniteMeasure Ω}
(h :
∀ f : Ω →ᵇ ℝ,
Tendsto (fun i => ∫ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫ x, f x ∂(μ : Measure Ω)))) :
@@ -727,7 +726,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
integral_eq_lintegral_of_nonneg_ae (f₀_ae_nns i) f₀.continuous.measurable.ae_strongly_measurable
simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
simpa only [← aux, ← auxs] using h f₀
-#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_of_forall_integral_tendsto
+#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
(μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
@@ -741,8 +740,8 @@ theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω
/-- A characterization of weak convergence in terms of integrals of bounded continuous
real-valued functions. -/
-theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
+theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+ {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ,
Tendsto (fun i => ∫ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫ x, f x ∂(μ : Measure Ω))) :=
@@ -769,7 +768,7 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ}
simp_rw [aux, BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral] at tends_pos
tends_neg
exact tendsto.sub tends_pos tends_neg
-#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_integral_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
end FiniteMeasureConvergenceByBoundedContinuousFunctions
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -322,7 +322,7 @@ theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Mea
by
ext
simp only [Real.coe_toNNReal', max_eq_left_iff, Subtype.coe_mk, coe_nndist]
- rwa [Eq] at key
+ rwa [Eq] at key
#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal
@[simp]
@@ -410,7 +410,7 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasureCat Ω) (f g : Ω
exact dist_le_coe.mp (le_dist ω)
have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g := by rw [← ENNReal.coe_add];
exact ENNReal.coe_mono le'
- rwa [coe_nnreal_ennreal_nndist] at le
+ rwa [coe_nnreal_ennreal_nndist] at le
#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz_estimate
theorem testAgainstNn_lipschitz (μ : FiniteMeasureCat Ω) :
@@ -423,15 +423,15 @@ theorem testAgainstNn_lipschitz (μ : FiniteMeasureCat Ω) :
apply abs_le.mpr
constructor
· have key' := μ.test_against_nn_lipschitz_estimate f₂ f₁
- rw [mul_comm] at key'
+ rw [mul_comm] at key'
suffices ↑(μ.test_against_nn f₂) ≤ ↑(μ.test_against_nn f₁) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
- rwa [NNReal.coe_add, NNReal.coe_mul, nndist_comm] at key
+ rwa [NNReal.coe_add, NNReal.coe_mul, nndist_comm] at key
· have key' := μ.test_against_nn_lipschitz_estimate f₁ f₂
- rw [mul_comm] at key'
+ rw [mul_comm] at key'
suffices ↑(μ.test_against_nn f₁) ≤ ↑(μ.test_against_nn f₂) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
- rwa [NNReal.coe_add, NNReal.coe_mul] at key
+ rwa [NNReal.coe_add, NNReal.coe_mul] at key
#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz
/-- Finite measures yield elements of the `weak_dual` of bounded continuous nonnegative
@@ -515,7 +515,7 @@ theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filte
by
apply tendsto_iff_dist_tendsto_zero.mpr
have obs := fun i => (μs i).testAgainstNn_lipschitz_estimate f 0
- simp_rw [test_against_nn_zero, zero_add] at obs
+ simp_rw [test_against_nn_zero, zero_add] at obs
simp_rw [show ∀ i, dist ((μs i).testAgainstNn f) 0 = (μs i).testAgainstNn f by
simp only [dist_nndist, NNReal.nndist_zero_eq_val', eq_self_iff_true, imp_true_iff]]
refine' squeeze_zero (fun i => NNReal.coe_nonneg _) obs _
@@ -525,7 +525,7 @@ theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filte
refine' (Prod.tendsto_iff _ _).mpr ⟨tendsto_const_nhds, _⟩
exact (nnreal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
- rwa [MulZeroClass.mul_zero] at key
+ rwa [MulZeroClass.mul_zero] at key
#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasureCat.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
@@ -713,7 +713,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
@ENNReal.tendsto_toReal_iff _ F _
(fun i => (lintegral_lt_top_of_bounded_continuous_to_nnreal (μs i : Measure Ω) f).Ne) _
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne
- simp only [ENNReal.ofReal_coe_nnreal] at key
+ simp only [ENNReal.ofReal_coe_nnreal] at key
apply key.mp
have lip : LipschitzWith 1 (coe : ℝ≥0 → ℝ) := isometry_subtype_coe.lipschitz
set f₀ := BoundedContinuousFunction.comp _ lip f with def_f₀
@@ -725,7 +725,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
integral_eq_lintegral_of_nonneg_ae f₀_ae_nn f₀.continuous.measurable.ae_strongly_measurable
have auxs := fun i =>
integral_eq_lintegral_of_nonneg_ae (f₀_ae_nns i) f₀.continuous.measurable.ae_strongly_measurable
- simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
+ simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
simpa only [← aux, ← auxs] using h f₀
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_of_forall_integral_tendsto
@@ -766,8 +766,8 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ}
(ENNReal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
(∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)).toReal :=
fun _ => rfl
- simp_rw [aux, BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral] at
- tends_pos tends_neg
+ simp_rw [aux, BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral] at tends_pos
+ tends_neg
exact tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_integral_tendsto
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -84,7 +84,7 @@ open Filter
open BoundedContinuousFunction
-open Topology ENNReal NNReal BoundedContinuousFunction
+open scoped Topology ENNReal NNReal BoundedContinuousFunction
namespace MeasureTheory
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -187,11 +187,8 @@ theorem mass_nonzero_iff (μ : FiniteMeasureCat Ω) : μ.mass ≠ 0 ↔ μ ≠ 0
@[ext]
theorem eq_of_forall_measure_apply_eq (μ ν : FiniteMeasureCat Ω)
- (h : ∀ s : Set Ω, MeasurableSet s → (μ : Measure Ω) s = (ν : Measure Ω) s) : μ = ν :=
- by
- ext1
- ext1 s s_mble
- exact h s s_mble
+ (h : ∀ s : Set Ω, MeasurableSet s → (μ : Measure Ω) s = (ν : Measure Ω) s) : μ = ν := by ext1;
+ ext1 s s_mble; exact h s s_mble
#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasureCat.eq_of_forall_measure_apply_eq
theorem eq_of_forall_apply_eq (μ ν : FiniteMeasureCat Ω)
@@ -228,24 +225,17 @@ theorem coe_smul (c : R) (μ : FiniteMeasureCat Ω) : ↑(c • μ) = (c • ↑
#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasureCat.coe_smul
@[simp, norm_cast]
-theorem coeFn_zero : (⇑(0 : FiniteMeasureCat Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) :=
- by
- funext
- rfl
+theorem coeFn_zero : (⇑(0 : FiniteMeasureCat Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) := by funext; rfl
#align measure_theory.finite_measure.coe_fn_zero MeasureTheory.FiniteMeasureCat.coeFn_zero
@[simp, norm_cast]
theorem coeFn_add (μ ν : FiniteMeasureCat Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) :=
- by
- funext
- simp [← ENNReal.coe_eq_coe]
+ by funext; simp [← ENNReal.coe_eq_coe]
#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasureCat.coeFn_add
@[simp, norm_cast]
theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasureCat Ω) :
- (⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) :=
- by
- funext
+ (⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by funext;
simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasureCat.coeFn_smul
@@ -370,9 +360,7 @@ theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasureCat
simp only [test_against_nn, coe_zero, lintegral_zero_measure, ENNReal.zero_toNNReal]
#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasureCat.Zero.testAgainstNn_apply
-theorem Zero.testAgainstNn : (0 : FiniteMeasureCat Ω).testAgainstNn = 0 :=
- by
- funext
+theorem Zero.testAgainstNn : (0 : FiniteMeasureCat Ω).testAgainstNn = 0 := by funext;
simp only [zero.test_against_nn_apply, Pi.zero_apply]
#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasureCat.Zero.testAgainstNn
@@ -420,9 +408,7 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasureCat Ω) (f g : Ω
apply (NNReal.le_add_nndist (f ω) (g ω)).trans
rw [add_le_add_iff_left]
exact dist_le_coe.mp (le_dist ω)
- have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g :=
- by
- rw [← ENNReal.coe_add]
+ have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g := by rw [← ENNReal.coe_add];
exact ENNReal.coe_mono le'
rwa [coe_nnreal_ennreal_nndist] at le
#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz_estimate
@@ -488,10 +474,8 @@ theorem continuous_testAgainstNn_eval (f : Ω →ᵇ ℝ≥0) :
#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasureCat.continuous_testAgainstNn_eval
/-- The total mass of a finite measure depends continuously on the measure. -/
-theorem continuous_mass : Continuous fun μ : FiniteMeasureCat Ω => μ.mass :=
- by
- simp_rw [← test_against_nn_one]
- exact continuous_test_against_nn_eval 1
+theorem continuous_mass : Continuous fun μ : FiniteMeasureCat Ω => μ.mass := by
+ simp_rw [← test_against_nn_one]; exact continuous_test_against_nn_eval 1
#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasureCat.continuous_mass
/-- Convergence of finite measures implies the convergence of their total masses. -/
@@ -511,18 +495,14 @@ theorem tendsto_iff_forall_toWeakDualBcnn_tendsto {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBcnn f) F (𝓝 (μ.toWeakDualBcnn f)) :=
- by
- rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]
- rfl
+ by rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]; rfl
#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_toWeakDualBcnn_tendsto
theorem tendsto_iff_forall_testAgainstNn_tendsto {γ : Type _} {F : Filter γ}
{μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 (μ.testAgainstNn f)) :=
- by
- rw [finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto]
- rfl
+ by rw [finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto]; rfl
#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_testAgainstNn_tendsto
/-- If the total masses of finite measures tend to zero, then the measures tend to
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -687,7 +687,7 @@ variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurab
theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [FiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
- refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AeStronglyMeasurable, _⟩
+ refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AEStronglyMeasurable, _⟩
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasureCat.integrable_of_bounded_continuous_to_nNReal
@@ -753,7 +753,7 @@ theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω
(μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
by
rw [integral_eq_lintegral_of_nonneg_ae _
- (nnreal.continuous_coe.comp f.continuous).Measurable.AeStronglyMeasurable]
+ (nnreal.continuous_coe.comp f.continuous).Measurable.AEStronglyMeasurable]
· simp only [ENNReal.ofReal_coe_nnreal]
· apply eventually_of_forall
simp only [Pi.zero_apply, NNReal.zero_le_coe, imp_true_iff]
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -699,7 +699,7 @@ theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [FiniteMeasur
have aux : (coe : ℝ≥0 → ℝ) ∘ ⇑f.nnnorm = fun x => ‖f x‖ :=
by
ext ω
- simp only [Function.comp_apply, BoundedContinuousFunction.nnnorm_coe_fun_eq, coe_nnnorm]
+ simp only [Function.comp_apply, BoundedContinuousFunction.nnnorm_coeFn_eq, coe_nnnorm]
apply (has_finite_integral_iff_norm ⇑f).mpr
rw [← of_real_integral_eq_lintegral_of_real]
· exact ENNReal.ofReal_lt_top
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -317,7 +317,7 @@ def testAgainstNn (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :
theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
Measurable fun ω => (f ω : ℝ≥0∞) :=
- measurable_coe_nNReal_eNNReal.comp f.Continuous.Measurable
+ measurable_coe_nnreal_ennreal.comp f.Continuous.Measurable
#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable
theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Measure Ω)
mathlib commit https://github.com/leanprover-community/mathlib/commit/d4437c68c8d350fc9d4e95e1e174409db35e30d7
@@ -109,210 +109,210 @@ variable {Ω : Type _} [MeasurableSpace Ω]
/-- Finite measures are defined as the subtype of measures that have the property of being finite
measures (i.e., their total mass is finite). -/
-def MeasureTheory.FiniteMeasure (Ω : Type _) [MeasurableSpace Ω] : Type _ :=
- { μ : Measure Ω // IsFiniteMeasure μ }
-#align measure_theory.finite_measure MeasureTheory.FiniteMeasure
+def MeasureTheory.FiniteMeasureCat (Ω : Type _) [MeasurableSpace Ω] : Type _ :=
+ { μ : Measure Ω // FiniteMeasure μ }
+#align measure_theory.finite_measure MeasureTheory.FiniteMeasureCat
/-- A finite measure can be interpreted as a measure. -/
-instance : Coe (FiniteMeasure Ω) (MeasureTheory.Measure Ω) :=
+instance : Coe (FiniteMeasureCat Ω) (MeasureTheory.Measure Ω) :=
coeSubtype
-instance isFiniteMeasure (μ : FiniteMeasure Ω) : IsFiniteMeasure (μ : Measure Ω) :=
+instance finiteMeasure (μ : FiniteMeasureCat Ω) : FiniteMeasure (μ : Measure Ω) :=
μ.Prop
-#align measure_theory.finite_measure.is_finite_measure MeasureTheory.FiniteMeasure.isFiniteMeasure
+#align measure_theory.finite_measure.is_finite_measure MeasureTheory.FiniteMeasureCat.finiteMeasure
-instance : CoeFun (FiniteMeasure Ω) fun _ => Set Ω → ℝ≥0 :=
+instance : CoeFun (FiniteMeasureCat Ω) fun _ => Set Ω → ℝ≥0 :=
⟨fun μ s => (μ s).toNNReal⟩
-theorem coeFn_eq_toNNReal_coeFn_to_measure (ν : FiniteMeasure Ω) :
+theorem coeFn_eq_toNNReal_coeFn_to_measure (ν : FiniteMeasureCat Ω) :
(ν : Set Ω → ℝ≥0) = fun s => ((ν : Measure Ω) s).toNNReal :=
rfl
-#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasure.coeFn_eq_toNNReal_coeFn_to_measure
+#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasureCat.coeFn_eq_toNNReal_coeFn_to_measure
@[simp]
-theorem eNNReal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasure Ω) (s : Set Ω) :
+theorem eNNReal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasureCat Ω) (s : Set Ω) :
(ν s : ℝ≥0∞) = (ν : Measure Ω) s :=
ENNReal.coe_toNNReal (measure_lt_top (↑ν) s).Ne
-#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasure.eNNReal_coeFn_eq_coeFn_to_measure
+#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasureCat.eNNReal_coeFn_eq_coeFn_to_measure
@[simp]
-theorem val_eq_to_measure (ν : FiniteMeasure Ω) : ν.val = (ν : Measure Ω) :=
+theorem val_eq_to_measure (ν : FiniteMeasureCat Ω) : ν.val = (ν : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.val_eq_to_measure MeasureTheory.FiniteMeasure.val_eq_to_measure
+#align measure_theory.finite_measure.val_eq_to_measure MeasureTheory.FiniteMeasureCat.val_eq_to_measure
-theorem coe_injective : Function.Injective (coe : FiniteMeasure Ω → Measure Ω) :=
+theorem coe_injective : Function.Injective (coe : FiniteMeasureCat Ω → Measure Ω) :=
Subtype.coe_injective
-#align measure_theory.finite_measure.coe_injective MeasureTheory.FiniteMeasure.coe_injective
+#align measure_theory.finite_measure.coe_injective MeasureTheory.FiniteMeasureCat.coe_injective
-theorem apply_mono (μ : FiniteMeasure Ω) {s₁ s₂ : Set Ω} (h : s₁ ⊆ s₂) : μ s₁ ≤ μ s₂ :=
+theorem apply_mono (μ : FiniteMeasureCat Ω) {s₁ s₂ : Set Ω} (h : s₁ ⊆ s₂) : μ s₁ ≤ μ s₂ :=
by
change ((μ : Measure Ω) s₁).toNNReal ≤ ((μ : Measure Ω) s₂).toNNReal
have key : (μ : Measure Ω) s₁ ≤ (μ : Measure Ω) s₂ := (μ : Measure Ω).mono h
apply (ENNReal.toNNReal_le_toNNReal (measure_ne_top _ s₁) (measure_ne_top _ s₂)).mpr key
-#align measure_theory.finite_measure.apply_mono MeasureTheory.FiniteMeasure.apply_mono
+#align measure_theory.finite_measure.apply_mono MeasureTheory.FiniteMeasureCat.apply_mono
/-- The (total) mass of a finite measure `μ` is `μ univ`, i.e., the cast to `nnreal` of
`(μ : measure Ω) univ`. -/
-def mass (μ : FiniteMeasure Ω) : ℝ≥0 :=
+def mass (μ : FiniteMeasureCat Ω) : ℝ≥0 :=
μ univ
-#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasure.mass
+#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasureCat.mass
@[simp]
-theorem eNNReal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
+theorem eNNReal_mass {μ : FiniteMeasureCat Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
eNNReal_coeFn_eq_coeFn_to_measure μ Set.univ
-#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.eNNReal_mass
+#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasureCat.eNNReal_mass
-instance hasZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasure_zero⟩
-#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.hasZero
+instance hasZero : Zero (FiniteMeasureCat Ω) where zero := ⟨0, MeasureTheory.finiteMeasureZero⟩
+#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasureCat.hasZero
@[simp]
-theorem Zero.mass : (0 : FiniteMeasure Ω).mass = 0 :=
+theorem Zero.mass : (0 : FiniteMeasureCat Ω).mass = 0 :=
rfl
-#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasure.Zero.mass
+#align measure_theory.finite_measure.zero.mass MeasureTheory.FiniteMeasureCat.Zero.mass
@[simp]
-theorem mass_zero_iff (μ : FiniteMeasure Ω) : μ.mass = 0 ↔ μ = 0 :=
+theorem mass_zero_iff (μ : FiniteMeasureCat Ω) : μ.mass = 0 ↔ μ = 0 :=
by
refine' ⟨fun μ_mass => _, fun hμ => by simp only [hμ, zero.mass]⟩
ext1
apply measure.measure_univ_eq_zero.mp
rwa [← ennreal_mass, ENNReal.coe_eq_zero]
-#align measure_theory.finite_measure.mass_zero_iff MeasureTheory.FiniteMeasure.mass_zero_iff
+#align measure_theory.finite_measure.mass_zero_iff MeasureTheory.FiniteMeasureCat.mass_zero_iff
-theorem mass_nonzero_iff (μ : FiniteMeasure Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
+theorem mass_nonzero_iff (μ : FiniteMeasureCat Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
by
rw [not_iff_not]
exact finite_measure.mass_zero_iff μ
-#align measure_theory.finite_measure.mass_nonzero_iff MeasureTheory.FiniteMeasure.mass_nonzero_iff
+#align measure_theory.finite_measure.mass_nonzero_iff MeasureTheory.FiniteMeasureCat.mass_nonzero_iff
@[ext]
-theorem eq_of_forall_measure_apply_eq (μ ν : FiniteMeasure Ω)
+theorem eq_of_forall_measure_apply_eq (μ ν : FiniteMeasureCat Ω)
(h : ∀ s : Set Ω, MeasurableSet s → (μ : Measure Ω) s = (ν : Measure Ω) s) : μ = ν :=
by
ext1
ext1 s s_mble
exact h s s_mble
-#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_measure_apply_eq
+#align measure_theory.finite_measure.eq_of_forall_measure_apply_eq MeasureTheory.FiniteMeasureCat.eq_of_forall_measure_apply_eq
-theorem eq_of_forall_apply_eq (μ ν : FiniteMeasure Ω)
+theorem eq_of_forall_apply_eq (μ ν : FiniteMeasureCat Ω)
(h : ∀ s : Set Ω, MeasurableSet s → μ s = ν s) : μ = ν :=
by
ext1 s s_mble
simpa [ennreal_coe_fn_eq_coe_fn_to_measure] using congr_arg (coe : ℝ≥0 → ℝ≥0∞) (h s s_mble)
-#align measure_theory.finite_measure.eq_of_forall_apply_eq MeasureTheory.FiniteMeasure.eq_of_forall_apply_eq
+#align measure_theory.finite_measure.eq_of_forall_apply_eq MeasureTheory.FiniteMeasureCat.eq_of_forall_apply_eq
-instance : Inhabited (FiniteMeasure Ω) :=
+instance : Inhabited (FiniteMeasureCat Ω) :=
⟨0⟩
-instance : Add (FiniteMeasure Ω) where add μ ν := ⟨μ + ν, MeasureTheory.isFiniteMeasure_add⟩
+instance : Add (FiniteMeasureCat Ω) where add μ ν := ⟨μ + ν, MeasureTheory.finiteMeasureAdd⟩
variable {R : Type _} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ≥0 ℝ≥0∞]
[IsScalarTower R ℝ≥0∞ ℝ≥0∞]
-instance : SMul R (FiniteMeasure Ω)
- where smul (c : R) μ := ⟨c • μ, MeasureTheory.isFiniteMeasure_smul_of_nNReal_tower⟩
+instance : SMul R (FiniteMeasureCat Ω)
+ where smul (c : R) μ := ⟨c • μ, MeasureTheory.finiteMeasureSmulOfNNRealTower⟩
@[simp, norm_cast]
-theorem coe_zero : (coe : FiniteMeasure Ω → Measure Ω) 0 = 0 :=
+theorem coe_zero : (coe : FiniteMeasureCat Ω → Measure Ω) 0 = 0 :=
rfl
-#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasure.coe_zero
+#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasureCat.coe_zero
@[simp, norm_cast]
-theorem coe_add (μ ν : FiniteMeasure Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
+theorem coe_add (μ ν : FiniteMeasureCat Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasure.coe_add
+#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasureCat.coe_add
@[simp, norm_cast]
-theorem coe_smul (c : R) (μ : FiniteMeasure Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
+theorem coe_smul (c : R) (μ : FiniteMeasureCat Ω) : ↑(c • μ) = (c • ↑μ : Measure Ω) :=
rfl
-#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasure.coe_smul
+#align measure_theory.finite_measure.coe_smul MeasureTheory.FiniteMeasureCat.coe_smul
@[simp, norm_cast]
-theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) :=
+theorem coeFn_zero : (⇑(0 : FiniteMeasureCat Ω) : Set Ω → ℝ≥0) = (0 : Set Ω → ℝ≥0) :=
by
funext
rfl
-#align measure_theory.finite_measure.coe_fn_zero MeasureTheory.FiniteMeasure.coeFn_zero
+#align measure_theory.finite_measure.coe_fn_zero MeasureTheory.FiniteMeasureCat.coeFn_zero
@[simp, norm_cast]
-theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) :=
+theorem coeFn_add (μ ν : FiniteMeasureCat Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) :=
by
funext
simp [← ENNReal.coe_eq_coe]
-#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
+#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasureCat.coeFn_add
@[simp, norm_cast]
-theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
+theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasureCat Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) :=
by
funext
simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
-#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
+#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasureCat.coeFn_smul
-instance : AddCommMonoid (FiniteMeasure Ω) :=
+instance : AddCommMonoid (FiniteMeasureCat Ω) :=
coe_injective.AddCommMonoid coe coe_zero coe_add fun _ _ => coe_smul _ _
/-- Coercion is an `add_monoid_hom`. -/
@[simps]
-def coeAddMonoidHom : FiniteMeasure Ω →+ Measure Ω
+def coeAddMonoidHom : FiniteMeasureCat Ω →+ Measure Ω
where
toFun := coe
map_zero' := coe_zero
map_add' := coe_add
-#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasure.coeAddMonoidHom
+#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasureCat.coeAddMonoidHom
-instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
+instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasureCat Ω) :=
Function.Injective.module _ coeAddMonoidHom coe_injective coe_smul
@[simp]
-theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) (s : Set Ω) :
+theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasureCat Ω) (s : Set Ω) :
(c • μ) s = c • μ s := by simp only [coe_fn_smul, Pi.smul_apply]
-#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasure.coeFn_smul_apply
+#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasureCat.coeFn_smul_apply
/-- Restrict a finite measure μ to a set A. -/
-def restrict (μ : FiniteMeasure Ω) (A : Set Ω) : FiniteMeasure Ω
+def restrict (μ : FiniteMeasureCat Ω) (A : Set Ω) : FiniteMeasureCat Ω
where
val := (μ : Measure Ω).restrict A
- property := MeasureTheory.isFiniteMeasure_restrict μ A
-#align measure_theory.finite_measure.restrict MeasureTheory.FiniteMeasure.restrict
+ property := MeasureTheory.finiteMeasureRestrict μ A
+#align measure_theory.finite_measure.restrict MeasureTheory.FiniteMeasureCat.restrict
-theorem restrict_measure_eq (μ : FiniteMeasure Ω) (A : Set Ω) :
+theorem restrict_measure_eq (μ : FiniteMeasureCat Ω) (A : Set Ω) :
(μ.restrict A : Measure Ω) = (μ : Measure Ω).restrict A :=
rfl
-#align measure_theory.finite_measure.restrict_measure_eq MeasureTheory.FiniteMeasure.restrict_measure_eq
+#align measure_theory.finite_measure.restrict_measure_eq MeasureTheory.FiniteMeasureCat.restrict_measure_eq
-theorem restrict_apply_measure (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω}
+theorem restrict_apply_measure (μ : FiniteMeasureCat Ω) (A : Set Ω) {s : Set Ω}
(s_mble : MeasurableSet s) : (μ.restrict A : Measure Ω) s = (μ : Measure Ω) (s ∩ A) :=
Measure.restrict_apply s_mble
-#align measure_theory.finite_measure.restrict_apply_measure MeasureTheory.FiniteMeasure.restrict_apply_measure
+#align measure_theory.finite_measure.restrict_apply_measure MeasureTheory.FiniteMeasureCat.restrict_apply_measure
-theorem restrict_apply (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω} (s_mble : MeasurableSet s) :
+theorem restrict_apply (μ : FiniteMeasureCat Ω) (A : Set Ω) {s : Set Ω} (s_mble : MeasurableSet s) :
(μ.restrict A) s = μ (s ∩ A) :=
by
apply congr_arg ENNReal.toNNReal
exact measure.restrict_apply s_mble
-#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasure.restrict_apply
+#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasureCat.restrict_apply
-theorem restrict_mass (μ : FiniteMeasure Ω) (A : Set Ω) : (μ.restrict A).mass = μ A := by
+theorem restrict_mass (μ : FiniteMeasureCat Ω) (A : Set Ω) : (μ.restrict A).mass = μ A := by
simp only [mass, restrict_apply μ A MeasurableSet.univ, univ_inter]
-#align measure_theory.finite_measure.restrict_mass MeasureTheory.FiniteMeasure.restrict_mass
+#align measure_theory.finite_measure.restrict_mass MeasureTheory.FiniteMeasureCat.restrict_mass
-theorem restrict_eq_zero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A = 0 ↔ μ A = 0 := by
+theorem restrict_eq_zero_iff (μ : FiniteMeasureCat Ω) (A : Set Ω) : μ.restrict A = 0 ↔ μ A = 0 := by
rw [← mass_zero_iff, restrict_mass]
-#align measure_theory.finite_measure.restrict_eq_zero_iff MeasureTheory.FiniteMeasure.restrict_eq_zero_iff
+#align measure_theory.finite_measure.restrict_eq_zero_iff MeasureTheory.FiniteMeasureCat.restrict_eq_zero_iff
-theorem restrict_nonzero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict A ≠ 0 ↔ μ A ≠ 0 := by
+theorem restrict_nonzero_iff (μ : FiniteMeasureCat Ω) (A : Set Ω) : μ.restrict A ≠ 0 ↔ μ A ≠ 0 := by
rw [← mass_nonzero_iff, restrict_mass]
-#align measure_theory.finite_measure.restrict_nonzero_iff MeasureTheory.FiniteMeasure.restrict_nonzero_iff
+#align measure_theory.finite_measure.restrict_nonzero_iff MeasureTheory.FiniteMeasureCat.restrict_nonzero_iff
variable [TopologicalSpace Ω]
/-- The pairing of a finite (Borel) measure `μ` with a nonnegative bounded continuous
function is obtained by (Lebesgue) integrating the (test) function against the measure.
This is `finite_measure.test_against_nn`. -/
-def testAgainstNn (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
+def testAgainstNn (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
-#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNn
+#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasureCat.testAgainstNn
theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
@@ -321,7 +321,7 @@ theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _
#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable
theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Measure Ω)
- [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
+ [FiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
by
apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
use nndist f 0
@@ -336,65 +336,65 @@ theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Mea
#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal
@[simp]
-theorem testAgainstNn_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
+theorem testAgainstNn_coe_eq {μ : FiniteMeasureCat Ω} {f : Ω →ᵇ ℝ≥0} :
(μ.testAgainstNn f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
ENNReal.coe_toNNReal (lintegral_lt_top_of_bounded_continuous_to_nNReal _ f).Ne
-#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNn_coe_eq
+#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasureCat.testAgainstNn_coe_eq
-theorem testAgainstNn_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
+theorem testAgainstNn_const (μ : FiniteMeasureCat Ω) (c : ℝ≥0) :
μ.testAgainstNn (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
simp [← ENNReal.coe_eq_coe]
-#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNn_const
+#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasureCat.testAgainstNn_const
-theorem testAgainstNn_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
+theorem testAgainstNn_mono (μ : FiniteMeasureCat Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
μ.testAgainstNn f ≤ μ.testAgainstNn g :=
by
simp only [← ENNReal.coe_le_coe, test_against_nn_coe_eq]
exact lintegral_mono fun ω => ENNReal.coe_mono (f_le_g ω)
-#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNn_mono
+#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasureCat.testAgainstNn_mono
@[simp]
-theorem testAgainstNn_zero (μ : FiniteMeasure Ω) : μ.testAgainstNn 0 = 0 := by
+theorem testAgainstNn_zero (μ : FiniteMeasureCat Ω) : μ.testAgainstNn 0 = 0 := by
simpa only [MulZeroClass.zero_mul] using μ.test_against_nn_const 0
-#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNn_zero
+#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasureCat.testAgainstNn_zero
@[simp]
-theorem testAgainstNn_one (μ : FiniteMeasure Ω) : μ.testAgainstNn 1 = μ.mass :=
+theorem testAgainstNn_one (μ : FiniteMeasureCat Ω) : μ.testAgainstNn 1 = μ.mass :=
by
simp only [test_against_nn, coe_one, Pi.one_apply, ENNReal.coe_one, lintegral_one]
rfl
-#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasure.testAgainstNn_one
+#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasureCat.testAgainstNn_one
@[simp]
-theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasure Ω).testAgainstNn f = 0 := by
+theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasureCat Ω).testAgainstNn f = 0 := by
simp only [test_against_nn, coe_zero, lintegral_zero_measure, ENNReal.zero_toNNReal]
-#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasure.Zero.testAgainstNn_apply
+#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasureCat.Zero.testAgainstNn_apply
-theorem Zero.testAgainstNn : (0 : FiniteMeasure Ω).testAgainstNn = 0 :=
+theorem Zero.testAgainstNn : (0 : FiniteMeasureCat Ω).testAgainstNn = 0 :=
by
funext
simp only [zero.test_against_nn_apply, Pi.zero_apply]
-#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasure.Zero.testAgainstNn
+#align measure_theory.finite_measure.zero.test_against_nn MeasureTheory.FiniteMeasureCat.Zero.testAgainstNn
@[simp]
-theorem smul_testAgainstNn_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
+theorem smul_testAgainstNn_apply (c : ℝ≥0) (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) :
(c • μ).testAgainstNn f = c • μ.testAgainstNn f := by
simp only [test_against_nn, coe_smul, smul_eq_mul, ← ENNReal.smul_toNNReal, ENNReal.smul_def,
lintegral_smul_measure]
-#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNn_apply
+#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasureCat.smul_testAgainstNn_apply
variable [OpensMeasurableSpace Ω]
-theorem testAgainstNn_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
+theorem testAgainstNn_add (μ : FiniteMeasureCat Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (f₁ + f₂) = μ.testAgainstNn f₁ + μ.testAgainstNn f₂ :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
test_against_nn_coe_eq]
exact lintegral_add_left (BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable _) _
-#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNn_add
+#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasureCat.testAgainstNn_add
theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
- [BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
+ [BoundedSMul R ℝ≥0] (μ : FiniteMeasureCat Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (c • f) = c • μ.testAgainstNn f :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
@@ -404,9 +404,9 @@ theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
exact
@lintegral_const_mul _ _ (μ : Measure Ω) (c • 1) _
(BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable f)
-#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNn_smul
+#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasureCat.testAgainstNn_smul
-theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
+theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasureCat Ω) (f g : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn f ≤ μ.testAgainstNn g + nndist f g * μ.mass :=
by
simp only [← μ.test_against_nn_const (nndist f g), ← test_against_nn_add, ← ENNReal.coe_le_coe,
@@ -425,9 +425,9 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
rw [← ENNReal.coe_add]
exact ENNReal.coe_mono le'
rwa [coe_nnreal_ennreal_nndist] at le
-#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz_estimate
+#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz_estimate
-theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
+theorem testAgainstNn_lipschitz (μ : FiniteMeasureCat Ω) :
LipschitzWith μ.mass fun f : Ω →ᵇ ℝ≥0 => μ.testAgainstNn f :=
by
rw [lipschitzWith_iff_dist_le_mul]
@@ -446,91 +446,92 @@ theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
suffices ↑(μ.test_against_nn f₁) ≤ ↑(μ.test_against_nn f₂) + ↑μ.mass * dist f₁ f₂ by linarith
have key := NNReal.coe_mono key'
rwa [NNReal.coe_add, NNReal.coe_mul] at key
-#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz
+#align measure_theory.finite_measure.test_against_nn_lipschitz MeasureTheory.FiniteMeasureCat.testAgainstNn_lipschitz
/-- Finite measures yield elements of the `weak_dual` of bounded continuous nonnegative
functions via `measure_theory.finite_measure.test_against_nn`, i.e., integration. -/
-def toWeakDualBcnn (μ : FiniteMeasure Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
+def toWeakDualBcnn (μ : FiniteMeasureCat Ω) : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)
where
toFun f := μ.testAgainstNn f
map_add' := testAgainstNn_add μ
map_smul' := testAgainstNn_smul μ
cont := μ.testAgainstNn_lipschitz.Continuous
-#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasure.toWeakDualBcnn
+#align measure_theory.finite_measure.to_weak_dual_bcnn MeasureTheory.FiniteMeasureCat.toWeakDualBcnn
@[simp]
-theorem coe_toWeakDualBcnn (μ : FiniteMeasure Ω) : ⇑μ.toWeakDualBcnn = μ.testAgainstNn :=
+theorem coe_toWeakDualBcnn (μ : FiniteMeasureCat Ω) : ⇑μ.toWeakDualBcnn = μ.testAgainstNn :=
rfl
-#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasure.coe_toWeakDualBcnn
+#align measure_theory.finite_measure.coe_to_weak_dual_bcnn MeasureTheory.FiniteMeasureCat.coe_toWeakDualBcnn
@[simp]
-theorem toWeakDualBcnn_apply (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
+theorem toWeakDualBcnn_apply (μ : FiniteMeasureCat Ω) (f : Ω →ᵇ ℝ≥0) :
μ.toWeakDualBcnn f = (∫⁻ x, f x ∂(μ : Measure Ω)).toNNReal :=
rfl
-#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasure.toWeakDualBcnn_apply
+#align measure_theory.finite_measure.to_weak_dual_bcnn_apply MeasureTheory.FiniteMeasureCat.toWeakDualBcnn_apply
/-- The topology of weak convergence on `measure_theory.finite_measure Ω` is inherited (induced)
from the weak-* topology on `weak_dual ℝ≥0 (Ω →ᵇ ℝ≥0)` via the function
`measure_theory.finite_measure.to_weak_dual_bcnn`. -/
-instance : TopologicalSpace (FiniteMeasure Ω) :=
+instance : TopologicalSpace (FiniteMeasureCat Ω) :=
TopologicalSpace.induced toWeakDualBcnn inferInstance
theorem toWeakDualBcnn_continuous : Continuous (@toWeakDualBcnn Ω _ _ _) :=
continuous_induced_dom
-#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasure.toWeakDualBcnn_continuous
+#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasureCat.toWeakDualBcnn_continuous
/- Integration of (nonnegative bounded continuous) test functions against finite Borel measures
depends continuously on the measure. -/
theorem continuous_testAgainstNn_eval (f : Ω →ᵇ ℝ≥0) :
- Continuous fun μ : FiniteMeasure Ω => μ.testAgainstNn f :=
+ Continuous fun μ : FiniteMeasureCat Ω => μ.testAgainstNn f :=
(by apply (WeakBilin.eval_continuous _ _).comp to_weak_dual_bcnn_continuous :
Continuous ((fun φ : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0) => φ f) ∘ toWeakDualBcnn))
-#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasure.continuous_testAgainstNn_eval
+#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasureCat.continuous_testAgainstNn_eval
/-- The total mass of a finite measure depends continuously on the measure. -/
-theorem continuous_mass : Continuous fun μ : FiniteMeasure Ω => μ.mass :=
+theorem continuous_mass : Continuous fun μ : FiniteMeasureCat Ω => μ.mass :=
by
simp_rw [← test_against_nn_one]
exact continuous_test_against_nn_eval 1
-#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasure.continuous_mass
+#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasureCat.continuous_mass
/-- Convergence of finite measures implies the convergence of their total masses. -/
-theorem Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
- {μ : FiniteMeasure Ω} (h : Tendsto μs F (𝓝 μ)) : Tendsto (fun i => (μs i).mass) F (𝓝 μ.mass) :=
+theorem Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
+ {μ : FiniteMeasureCat Ω} (h : Tendsto μs F (𝓝 μ)) :
+ Tendsto (fun i => (μs i).mass) F (𝓝 μ.mass) :=
(continuous_mass.Tendsto μ).comp h
#align filter.tendsto.mass Filter.Tendsto.mass
-theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
- {μ : FiniteMeasure Ω} :
+theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
+ {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔ Tendsto (fun i => (μs i).toWeakDualBcnn) F (𝓝 μ.toWeakDualBcnn) :=
Inducing.tendsto_nhds_iff ⟨rfl⟩
-#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_weak_star_tendsto
+#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_weak_star_tendsto
theorem tendsto_iff_forall_toWeakDualBcnn_tendsto {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
+ {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBcnn f) F (𝓝 (μ.toWeakDualBcnn f)) :=
by
rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]
rfl
-#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBcnn_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_toWeakDualBcnn_tendsto
theorem tendsto_iff_forall_testAgainstNn_tendsto {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
+ {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 (μ.testAgainstNn f)) :=
by
rw [finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto]
rfl
-#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_testAgainstNn_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_test_against_nn_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_testAgainstNn_tendsto
/-- If the total masses of finite measures tend to zero, then the measures tend to
zero. This formulation concerns the associated functionals on bounded continuous
nonnegative test functions. See `finite_measure.tendsto_zero_of_tendsto_zero_mass` for
a formulation stating the weak convergence of measures. -/
theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filter γ}
- {μs : γ → FiniteMeasure Ω} (mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) (f : Ω →ᵇ ℝ≥0) :
- Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 0) :=
+ {μs : γ → FiniteMeasureCat Ω} (mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0))
+ (f : Ω →ᵇ ℝ≥0) : Tendsto (fun i => (μs i).testAgainstNn f) F (𝓝 0) :=
by
apply tendsto_iff_dist_tendsto_zero.mpr
have obs := fun i => (μs i).testAgainstNn_lipschitz_estimate f 0
@@ -545,22 +546,22 @@ theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filte
exact (nnreal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
rwa [MulZeroClass.mul_zero] at key
-#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
+#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasureCat.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
-theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
(mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) : Tendsto μs F (𝓝 0) :=
by
rw [tendsto_iff_forall_test_against_nn_tendsto]
intro f
convert tendsto_zero_test_against_nn_of_tendsto_zero_mass mass_lim f
rw [zero.test_against_nn_apply]
-#align measure_theory.finite_measure.tendsto_zero_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_of_tendsto_zero_mass
+#align measure_theory.finite_measure.tendsto_zero_of_tendsto_zero_mass MeasureTheory.FiniteMeasureCat.tendsto_zero_of_tendsto_zero_mass
/-- A characterization of weak convergence in terms of integrals of bounded continuous
nonnegative functions. -/
-theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
- {μ : FiniteMeasure Ω} :
+theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ}
+ {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0,
Tendsto (fun i => ∫⁻ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫⁻ x, f x ∂(μ : Measure Ω))) :=
@@ -568,7 +569,7 @@ theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs
rw [tendsto_iff_forall_to_weak_dual_bcnn_tendsto]
simp_rw [to_weak_dual_bcnn_apply _ _, ← test_against_nn_coe_eq, ENNReal.tendsto_coe,
ENNReal.toNNReal_coe]
-#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_lintegral_tendsto
end FiniteMeasure
@@ -594,7 +595,7 @@ This formulation assumes:
`ℝ≥0∞`-valued.
-/
theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L.IsCountablyGenerated]
- (μ : Measure Ω) [IsFiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+ (μ : Measure Ω) [FiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂μ, fs i ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂μ, Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
Tendsto (fun i => ∫⁻ ω, fs i ω ∂μ) L (𝓝 (∫⁻ ω, f ω ∂μ)) :=
@@ -605,7 +606,7 @@ theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L
(@lintegral_const_lt_top _ _ μ _ _ (@ENNReal.coe_ne_top c)).Ne _
· simpa only [ENNReal.coe_le_coe] using fs_le_const
· simpa only [ENNReal.tendsto_coe] using fs_lim
-#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const
+#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_lintegral_nn_filter_of_le_const
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant
@@ -615,14 +616,14 @@ measure tend to the integral of the limit.
A related result with more general assumptions is
`measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const`.
-/
-theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasure Ω) {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasureCat Ω) {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ ω, Tendsto (fun n => fs n ω) atTop (𝓝 (f ω))) :
Tendsto (fun n => ∫⁻ ω, fs n ω ∂(μ : Measure Ω)) atTop (𝓝 (∫⁻ ω, f ω ∂(μ : Measure Ω))) :=
tendsto_lintegral_nn_filter_of_le_const μ
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
-#align measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_of_le_const
+#align measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_lintegral_nn_of_le_const
/-- A bounded convergence theorem for a finite measure:
If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
@@ -638,7 +639,7 @@ A related result using `measure_theory.lintegral` for integration is
`measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const`.
-/
theorem tendsto_testAgainstNn_filter_of_le_const {ι : Type _} {L : Filter ι}
- [L.IsCountablyGenerated] {μ : FiniteMeasure Ω} {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+ [L.IsCountablyGenerated] {μ : FiniteMeasureCat Ω} {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂(μ : Measure Ω), fs i ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂(μ : Measure Ω), Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
Tendsto (fun i => μ.testAgainstNn (fs i)) L (𝓝 (μ.testAgainstNn f)) :=
@@ -647,7 +648,7 @@ theorem tendsto_testAgainstNn_filter_of_le_const {ι : Type _} {L : Filter ι}
(ENNReal.tendsto_toNNReal
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne).comp
exact tendsto_lintegral_nn_filter_of_le_const μ fs_le_const fs_lim
-#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_filter_of_le_const
+#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_testAgainstNn_filter_of_le_const
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant and
@@ -660,14 +661,14 @@ Related results:
* `measure_theory.finite_measure.tendsto_lintegral_nn_of_le_const`:
using `measure_theory.lintegral` for integration.
-/
-theorem tendsto_testAgainstNn_of_le_const {μ : FiniteMeasure Ω} {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
+theorem tendsto_testAgainstNn_of_le_const {μ : FiniteMeasureCat Ω} {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ ω, Tendsto (fun n => fs n ω) atTop (𝓝 (f ω))) :
Tendsto (fun n => μ.testAgainstNn (fs n)) atTop (𝓝 (μ.testAgainstNn f)) :=
tendsto_testAgainstNn_filter_of_le_const
(eventually_of_forall fun n => eventually_of_forall (fs_le_const n))
(eventually_of_forall fs_lim)
-#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_of_le_const
+#align measure_theory.finite_measure.tendsto_test_against_nn_of_le_const MeasureTheory.FiniteMeasureCat.tendsto_testAgainstNn_of_le_const
end FiniteMeasureBoundedConvergence
@@ -683,15 +684,15 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [IsFiniteMeasure μ]
+theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [FiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AeStronglyMeasurable, _⟩
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_nNReal
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasureCat.integrable_of_bounded_continuous_to_nNReal
-theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [FiniteMeasure μ] (f : Ω →ᵇ ℝ) :
Integrable (⇑f) μ :=
by
refine' ⟨f.continuous.measurable.ae_strongly_measurable, _⟩
@@ -704,23 +705,23 @@ theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [IsFiniteMeas
· exact ENNReal.ofReal_lt_top
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_real
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasureCat.integrable_of_bounded_continuous_to_real
theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
- [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+ [FiniteMeasure μ] (f : Ω →ᵇ ℝ) :
(∫ ω, f ω ∂μ) = (∫ ω, f.nnrealPart ω ∂μ) - ∫ ω, (-f).nnrealPart ω ∂μ := by
simp only [f.self_eq_nnreal_part_sub_nnreal_part_neg, Pi.sub_apply, integral_sub,
integrable_of_bounded_continuous_to_nnreal]
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
theorem lintegral_lt_top_of_bounded_continuous_to_real {Ω : Type _} [MeasurableSpace Ω]
- [TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+ [TopologicalSpace Ω] (μ : Measure Ω) [FiniteMeasure μ] (f : Ω →ᵇ ℝ) :
(∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
lintegral_lt_top_of_bounded_continuous_to_nNReal _ f.nnrealPart
-#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_bounded_continuous_to_real
+#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasureCat.lintegral_lt_top_of_bounded_continuous_to_real
-theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
- {μ : FiniteMeasure Ω}
+theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasureCat Ω}
+ {μ : FiniteMeasureCat Ω}
(h :
∀ f : Ω →ᵇ ℝ,
Tendsto (fun i => ∫ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫ x, f x ∂(μ : Measure Ω)))) :
@@ -746,7 +747,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
integral_eq_lintegral_of_nonneg_ae (f₀_ae_nns i) f₀.continuous.measurable.ae_strongly_measurable
simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
simpa only [← aux, ← auxs] using h f₀
-#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
+#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_of_forall_integral_tendsto
theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
(μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, f x ∂μ :=
@@ -760,8 +761,8 @@ theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω
/-- A characterization of weak convergence in terms of integrals of bounded continuous
real-valued functions. -/
-theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
- {μ : FiniteMeasure Ω} :
+theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ}
+ {μs : γ → FiniteMeasureCat Ω} {μ : FiniteMeasureCat Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ,
Tendsto (fun i => ∫ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫ x, f x ∂(μ : Measure Ω))) :=
@@ -788,7 +789,7 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
simp_rw [aux, BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral] at
tends_pos tends_neg
exact tendsto.sub tends_pos tends_neg
-#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
+#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasureCat.tendsto_iff_forall_integral_tendsto
end FiniteMeasureConvergenceByBoundedContinuousFunctions
mathlib commit https://github.com/leanprover-community/mathlib/commit/92c69b77c5a7dc0f7eeddb552508633305157caa
@@ -162,7 +162,7 @@ theorem eNNReal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Me
eNNReal_coeFn_eq_coeFn_to_measure μ Set.univ
#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.eNNReal_mass
-instance hasZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasureZero⟩
+instance hasZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasure_zero⟩
#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.hasZero
@[simp]
@@ -204,13 +204,13 @@ theorem eq_of_forall_apply_eq (μ ν : FiniteMeasure Ω)
instance : Inhabited (FiniteMeasure Ω) :=
⟨0⟩
-instance : Add (FiniteMeasure Ω) where add μ ν := ⟨μ + ν, MeasureTheory.isFiniteMeasureAdd⟩
+instance : Add (FiniteMeasure Ω) where add μ ν := ⟨μ + ν, MeasureTheory.isFiniteMeasure_add⟩
variable {R : Type _} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ≥0 ℝ≥0∞]
[IsScalarTower R ℝ≥0∞ ℝ≥0∞]
instance : SMul R (FiniteMeasure Ω)
- where smul (c : R) μ := ⟨c • μ, MeasureTheory.isFiniteMeasureSmulOfNnrealTower⟩
+ where smul (c : R) μ := ⟨c • μ, MeasureTheory.isFiniteMeasure_smul_of_nNReal_tower⟩
@[simp, norm_cast]
theorem coe_zero : (coe : FiniteMeasure Ω → Measure Ω) 0 = 0 :=
@@ -273,7 +273,7 @@ theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteM
def restrict (μ : FiniteMeasure Ω) (A : Set Ω) : FiniteMeasure Ω
where
val := (μ : Measure Ω).restrict A
- property := MeasureTheory.isFiniteMeasureRestrict μ A
+ property := MeasureTheory.isFiniteMeasure_restrict μ A
#align measure_theory.finite_measure.restrict MeasureTheory.FiniteMeasure.restrict
theorem restrict_measure_eq (μ : FiniteMeasure Ω) (A : Set Ω) :
@@ -683,15 +683,15 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-theorem integrableOfBoundedContinuousToNnreal (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) :
- Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
+theorem integrable_of_bounded_continuous_to_nNReal (μ : Measure Ω) [IsFiniteMeasure μ]
+ (f : Ω →ᵇ ℝ≥0) : Integrable ((coe : ℝ≥0 → ℝ) ∘ ⇑f) μ :=
by
refine' ⟨(nnreal.continuous_coe.comp f.continuous).Measurable.AeStronglyMeasurable, _⟩
simp only [has_finite_integral, NNReal.nnnorm_eq]
exact lintegral_lt_top_of_bounded_continuous_to_nnreal _ f
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrableOfBoundedContinuousToNnreal
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_nNReal
-theorem integrableOfBoundedContinuousToReal (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
+theorem integrable_of_bounded_continuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
Integrable (⇑f) μ :=
by
refine' ⟨f.continuous.measurable.ae_strongly_measurable, _⟩
@@ -704,7 +704,7 @@ theorem integrableOfBoundedContinuousToReal (μ : Measure Ω) [IsFiniteMeasure
· exact ENNReal.ofReal_lt_top
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrableOfBoundedContinuousToReal
+#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_bounded_continuous_to_real
theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/da3fc4a33ff6bc75f077f691dc94c217b8d41559
@@ -394,7 +394,7 @@ theorem testAgainstNn_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNn_add
theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
- [BoundedSmul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
+ [BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (c • f) = c • μ.testAgainstNn f :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -355,7 +355,7 @@ theorem testAgainstNn_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_
@[simp]
theorem testAgainstNn_zero (μ : FiniteMeasure Ω) : μ.testAgainstNn 0 = 0 := by
- simpa only [zero_mul] using μ.test_against_nn_const 0
+ simpa only [MulZeroClass.zero_mul] using μ.test_against_nn_const 0
#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNn_zero
@[simp]
@@ -544,7 +544,7 @@ theorem tendsto_zero_testAgainstNn_of_tendsto_zero_mass {γ : Type _} {F : Filte
refine' (Prod.tendsto_iff _ _).mpr ⟨tendsto_const_nhds, _⟩
exact (nnreal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
- rwa [mul_zero] at key
+ rwa [MulZeroClass.mul_zero] at key
#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNn_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3b267e70a936eebb21ab546f49a8df34dd300b25
@@ -394,7 +394,7 @@ theorem testAgainstNn_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNn_add
theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
- [HasBoundedSmul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
+ [BoundedSmul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (c • f) = c • μ.testAgainstNn f :=
by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
mathlib commit https://github.com/leanprover-community/mathlib/commit/195fcd60ff2bfe392543bceb0ec2adcdb472db4c
@@ -411,7 +411,7 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
by
simp only [← μ.test_against_nn_const (nndist f g), ← test_against_nn_add, ← ENNReal.coe_le_coe,
BoundedContinuousFunction.coe_add, const_apply, ENNReal.coe_add, Pi.add_apply,
- coe_nNReal_eNNReal_nndist, test_against_nn_coe_eq]
+ coe_nnreal_ennreal_nndist, test_against_nn_coe_eq]
apply lintegral_mono
have le_dist : ∀ ω, dist (f ω) (g ω) ≤ nndist f g := BoundedContinuousFunction.dist_coe_le_dist
intro ω
@@ -424,7 +424,7 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
by
rw [← ENNReal.coe_add]
exact ENNReal.coe_mono le'
- rwa [coe_nNReal_eNNReal_nndist] at le
+ rwa [coe_nnreal_ennreal_nndist] at le
#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz_estimate
theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -84,7 +84,7 @@ open Filter
open BoundedContinuousFunction
-open Topology Ennreal NNReal BoundedContinuousFunction
+open Topology ENNReal NNReal BoundedContinuousFunction
namespace MeasureTheory
@@ -124,16 +124,16 @@ instance isFiniteMeasure (μ : FiniteMeasure Ω) : IsFiniteMeasure (μ : Measure
instance : CoeFun (FiniteMeasure Ω) fun _ => Set Ω → ℝ≥0 :=
⟨fun μ s => (μ s).toNNReal⟩
-theorem coeFn_eq_toNnreal_coeFn_to_measure (ν : FiniteMeasure Ω) :
+theorem coeFn_eq_toNNReal_coeFn_to_measure (ν : FiniteMeasure Ω) :
(ν : Set Ω → ℝ≥0) = fun s => ((ν : Measure Ω) s).toNNReal :=
rfl
-#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasure.coeFn_eq_toNnreal_coeFn_to_measure
+#align measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure MeasureTheory.FiniteMeasure.coeFn_eq_toNNReal_coeFn_to_measure
@[simp]
-theorem ennreal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasure Ω) (s : Set Ω) :
+theorem eNNReal_coeFn_eq_coeFn_to_measure (ν : FiniteMeasure Ω) (s : Set Ω) :
(ν s : ℝ≥0∞) = (ν : Measure Ω) s :=
- Ennreal.coe_toNnreal (measure_lt_top (↑ν) s).Ne
-#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasure.ennreal_coeFn_eq_coeFn_to_measure
+ ENNReal.coe_toNNReal (measure_lt_top (↑ν) s).Ne
+#align measure_theory.finite_measure.ennreal_coe_fn_eq_coe_fn_to_measure MeasureTheory.FiniteMeasure.eNNReal_coeFn_eq_coeFn_to_measure
@[simp]
theorem val_eq_to_measure (ν : FiniteMeasure Ω) : ν.val = (ν : Measure Ω) :=
@@ -148,7 +148,7 @@ theorem apply_mono (μ : FiniteMeasure Ω) {s₁ s₂ : Set Ω} (h : s₁ ⊆ s
by
change ((μ : Measure Ω) s₁).toNNReal ≤ ((μ : Measure Ω) s₂).toNNReal
have key : (μ : Measure Ω) s₁ ≤ (μ : Measure Ω) s₂ := (μ : Measure Ω).mono h
- apply (Ennreal.toNnreal_le_toNnreal (measure_ne_top _ s₁) (measure_ne_top _ s₂)).mpr key
+ apply (ENNReal.toNNReal_le_toNNReal (measure_ne_top _ s₁) (measure_ne_top _ s₂)).mpr key
#align measure_theory.finite_measure.apply_mono MeasureTheory.FiniteMeasure.apply_mono
/-- The (total) mass of a finite measure `μ` is `μ univ`, i.e., the cast to `nnreal` of
@@ -158,9 +158,9 @@ def mass (μ : FiniteMeasure Ω) : ℝ≥0 :=
#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasure.mass
@[simp]
-theorem ennreal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
- ennreal_coeFn_eq_coeFn_to_measure μ Set.univ
-#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.ennreal_mass
+theorem eNNReal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
+ eNNReal_coeFn_eq_coeFn_to_measure μ Set.univ
+#align measure_theory.finite_measure.ennreal_mass MeasureTheory.FiniteMeasure.eNNReal_mass
instance hasZero : Zero (FiniteMeasure Ω) where zero := ⟨0, MeasureTheory.isFiniteMeasureZero⟩
#align measure_theory.finite_measure.has_zero MeasureTheory.FiniteMeasure.hasZero
@@ -176,7 +176,7 @@ theorem mass_zero_iff (μ : FiniteMeasure Ω) : μ.mass = 0 ↔ μ = 0 :=
refine' ⟨fun μ_mass => _, fun hμ => by simp only [hμ, zero.mass]⟩
ext1
apply measure.measure_univ_eq_zero.mp
- rwa [← ennreal_mass, Ennreal.coe_eq_zero]
+ rwa [← ennreal_mass, ENNReal.coe_eq_zero]
#align measure_theory.finite_measure.mass_zero_iff MeasureTheory.FiniteMeasure.mass_zero_iff
theorem mass_nonzero_iff (μ : FiniteMeasure Ω) : μ.mass ≠ 0 ↔ μ ≠ 0 :=
@@ -238,7 +238,7 @@ theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set
theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) :=
by
funext
- simp [← Ennreal.coe_eq_coe]
+ simp [← ENNReal.coe_eq_coe]
#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
@[simp, norm_cast]
@@ -246,7 +246,7 @@ theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) :=
by
funext
- simp [← Ennreal.coe_eq_coe, Ennreal.coe_smul]
+ simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
instance : AddCommMonoid (FiniteMeasure Ω) :=
@@ -289,7 +289,7 @@ theorem restrict_apply_measure (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω}
theorem restrict_apply (μ : FiniteMeasure Ω) (A : Set Ω) {s : Set Ω} (s_mble : MeasurableSet s) :
(μ.restrict A) s = μ (s ∩ A) :=
by
- apply congr_arg Ennreal.toNnreal
+ apply congr_arg ENNReal.toNNReal
exact measure.restrict_apply s_mble
#align measure_theory.finite_measure.restrict_apply MeasureTheory.FiniteMeasure.restrict_apply
@@ -314,20 +314,20 @@ def testAgainstNn (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNn
-theorem BoundedContinuousFunction.Nnreal.to_ennreal_comp_measurable {Ω : Type _}
+theorem BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable {Ω : Type _}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
Measurable fun ω => (f ω : ℝ≥0∞) :=
- measurable_coe_nNReal_ennreal.comp f.Continuous.Measurable
-#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.Nnreal.to_ennreal_comp_measurable
+ measurable_coe_nNReal_eNNReal.comp f.Continuous.Measurable
+#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable
theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ :=
by
- apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_ennreal
+ apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
use nndist f 0
intro x
have key := BoundedContinuousFunction.Nnreal.upper_bound f x
- rw [Ennreal.coe_le_coe]
+ rw [ENNReal.coe_le_coe]
have eq : nndist f 0 = ⟨dist f 0, dist_nonneg⟩ :=
by
ext
@@ -338,19 +338,19 @@ theorem MeasureTheory.lintegral_lt_top_of_bounded_continuous_to_nNReal (μ : Mea
@[simp]
theorem testAgainstNn_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
(μ.testAgainstNn f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
- Ennreal.coe_toNnreal (lintegral_lt_top_of_bounded_continuous_to_nNReal _ f).Ne
+ ENNReal.coe_toNNReal (lintegral_lt_top_of_bounded_continuous_to_nNReal _ f).Ne
#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNn_coe_eq
theorem testAgainstNn_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
μ.testAgainstNn (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
- simp [← Ennreal.coe_eq_coe]
+ simp [← ENNReal.coe_eq_coe]
#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNn_const
theorem testAgainstNn_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
μ.testAgainstNn f ≤ μ.testAgainstNn g :=
by
- simp only [← Ennreal.coe_le_coe, test_against_nn_coe_eq]
- exact lintegral_mono fun ω => Ennreal.coe_mono (f_le_g ω)
+ simp only [← ENNReal.coe_le_coe, test_against_nn_coe_eq]
+ exact lintegral_mono fun ω => ENNReal.coe_mono (f_le_g ω)
#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNn_mono
@[simp]
@@ -361,13 +361,13 @@ theorem testAgainstNn_zero (μ : FiniteMeasure Ω) : μ.testAgainstNn 0 = 0 := b
@[simp]
theorem testAgainstNn_one (μ : FiniteMeasure Ω) : μ.testAgainstNn 1 = μ.mass :=
by
- simp only [test_against_nn, coe_one, Pi.one_apply, Ennreal.coe_one, lintegral_one]
+ simp only [test_against_nn, coe_one, Pi.one_apply, ENNReal.coe_one, lintegral_one]
rfl
#align measure_theory.finite_measure.test_against_nn_one MeasureTheory.FiniteMeasure.testAgainstNn_one
@[simp]
theorem Zero.testAgainstNn_apply (f : Ω →ᵇ ℝ≥0) : (0 : FiniteMeasure Ω).testAgainstNn f = 0 := by
- simp only [test_against_nn, coe_zero, lintegral_zero_measure, Ennreal.zero_toNnreal]
+ simp only [test_against_nn, coe_zero, lintegral_zero_measure, ENNReal.zero_toNNReal]
#align measure_theory.finite_measure.zero.test_against_nn_apply MeasureTheory.FiniteMeasure.Zero.testAgainstNn_apply
theorem Zero.testAgainstNn : (0 : FiniteMeasure Ω).testAgainstNn = 0 :=
@@ -379,7 +379,7 @@ theorem Zero.testAgainstNn : (0 : FiniteMeasure Ω).testAgainstNn = 0 :=
@[simp]
theorem smul_testAgainstNn_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) :
(c • μ).testAgainstNn f = c • μ.testAgainstNn f := by
- simp only [test_against_nn, coe_smul, smul_eq_mul, ← Ennreal.smul_toNnreal, Ennreal.smul_def,
+ simp only [test_against_nn, coe_smul, smul_eq_mul, ← ENNReal.smul_toNNReal, ENNReal.smul_def,
lintegral_smul_measure]
#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNn_apply
@@ -388,30 +388,30 @@ variable [OpensMeasurableSpace Ω]
theorem testAgainstNn_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (f₁ + f₂) = μ.testAgainstNn f₁ + μ.testAgainstNn f₂ :=
by
- simp only [← Ennreal.coe_eq_coe, BoundedContinuousFunction.coe_add, Ennreal.coe_add, Pi.add_apply,
+ simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
test_against_nn_coe_eq]
- exact lintegral_add_left (BoundedContinuousFunction.Nnreal.to_ennreal_comp_measurable _) _
+ exact lintegral_add_left (BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable _) _
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNn_add
theorem testAgainstNn_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
[HasBoundedSmul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn (c • f) = c • μ.testAgainstNn f :=
by
- simp only [← Ennreal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
- Ennreal.coe_smul]
+ simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, test_against_nn_coe_eq,
+ ENNReal.coe_smul]
simp_rw [← smul_one_smul ℝ≥0∞ c (f _ : ℝ≥0∞), ← smul_one_smul ℝ≥0∞ c (lintegral _ _ : ℝ≥0∞),
smul_eq_mul]
exact
@lintegral_const_mul _ _ (μ : Measure Ω) (c • 1) _
- (BoundedContinuousFunction.Nnreal.to_ennreal_comp_measurable f)
+ (BoundedContinuousFunction.Nnreal.to_eNNReal_comp_measurable f)
#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNn_smul
theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
μ.testAgainstNn f ≤ μ.testAgainstNn g + nndist f g * μ.mass :=
by
- simp only [← μ.test_against_nn_const (nndist f g), ← test_against_nn_add, ← Ennreal.coe_le_coe,
- BoundedContinuousFunction.coe_add, const_apply, Ennreal.coe_add, Pi.add_apply,
- coe_nNReal_ennreal_nndist, test_against_nn_coe_eq]
+ simp only [← μ.test_against_nn_const (nndist f g), ← test_against_nn_add, ← ENNReal.coe_le_coe,
+ BoundedContinuousFunction.coe_add, const_apply, ENNReal.coe_add, Pi.add_apply,
+ coe_nNReal_eNNReal_nndist, test_against_nn_coe_eq]
apply lintegral_mono
have le_dist : ∀ ω, dist (f ω) (g ω) ≤ nndist f g := BoundedContinuousFunction.dist_coe_le_dist
intro ω
@@ -422,9 +422,9 @@ theorem testAgainstNn_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →
exact dist_le_coe.mp (le_dist ω)
have le : (f ω : ℝ≥0∞) ≤ (g ω : ℝ≥0∞) + nndist f g :=
by
- rw [← Ennreal.coe_add]
- exact Ennreal.coe_mono le'
- rwa [coe_nNReal_ennreal_nndist] at le
+ rw [← ENNReal.coe_add]
+ exact ENNReal.coe_mono le'
+ rwa [coe_nNReal_eNNReal_nndist] at le
#align measure_theory.finite_measure.test_against_nn_lipschitz_estimate MeasureTheory.FiniteMeasure.testAgainstNn_lipschitz_estimate
theorem testAgainstNn_lipschitz (μ : FiniteMeasure Ω) :
@@ -566,8 +566,8 @@ theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs
Tendsto (fun i => ∫⁻ x, f x ∂(μs i : Measure Ω)) F (𝓝 (∫⁻ x, f x ∂(μ : Measure Ω))) :=
by
rw [tendsto_iff_forall_to_weak_dual_bcnn_tendsto]
- simp_rw [to_weak_dual_bcnn_apply _ _, ← test_against_nn_coe_eq, Ennreal.tendsto_coe,
- Ennreal.toNnreal_coe]
+ simp_rw [to_weak_dual_bcnn_apply _ _, ← test_against_nn_coe_eq, ENNReal.tendsto_coe,
+ ENNReal.toNNReal_coe]
#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto
end FiniteMeasure
@@ -602,9 +602,9 @@ theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L
simpa only using
tendsto_lintegral_filter_of_dominated_convergence (fun _ => c)
(eventually_of_forall fun i => (ennreal.continuous_coe.comp (fs i).Continuous).Measurable) _
- (@lintegral_const_lt_top _ _ μ _ _ (@Ennreal.coe_ne_top c)).Ne _
- · simpa only [Ennreal.coe_le_coe] using fs_le_const
- · simpa only [Ennreal.tendsto_coe] using fs_lim
+ (@lintegral_const_lt_top _ _ μ _ _ (@ENNReal.coe_ne_top c)).Ne _
+ · simpa only [ENNReal.coe_le_coe] using fs_le_const
+ · simpa only [ENNReal.tendsto_coe] using fs_lim
#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const
/-- A bounded convergence theorem for a finite measure:
@@ -644,7 +644,7 @@ theorem tendsto_testAgainstNn_filter_of_le_const {ι : Type _} {L : Filter ι}
Tendsto (fun i => μ.testAgainstNn (fs i)) L (𝓝 (μ.testAgainstNn f)) :=
by
apply
- (Ennreal.tendsto_toNnreal
+ (ENNReal.tendsto_toNNReal
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne).comp
exact tendsto_lintegral_nn_filter_of_le_const μ fs_le_const fs_lim
#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNn_filter_of_le_const
@@ -701,7 +701,7 @@ theorem integrableOfBoundedContinuousToReal (μ : Measure Ω) [IsFiniteMeasure
simp only [Function.comp_apply, BoundedContinuousFunction.nnnorm_coe_fun_eq, coe_nnnorm]
apply (has_finite_integral_iff_norm ⇑f).mpr
rw [← of_real_integral_eq_lintegral_of_real]
- · exact Ennreal.ofReal_lt_top
+ · exact ENNReal.ofReal_lt_top
· exact aux ▸ integrable_of_bounded_continuous_to_nnreal μ f.nnnorm
· exact eventually_of_forall fun ω => norm_nonneg (f ω)
#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrableOfBoundedContinuousToReal
@@ -715,7 +715,7 @@ theorem BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Meas
theorem lintegral_lt_top_of_bounded_continuous_to_real {Ω : Type _} [MeasurableSpace Ω]
[TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- (∫⁻ ω, Ennreal.ofReal (f ω) ∂μ) < ∞ :=
+ (∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
lintegral_lt_top_of_bounded_continuous_to_nNReal _ f.nnrealPart
#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_bounded_continuous_to_real
@@ -729,10 +729,10 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
apply (@tendsto_iff_forall_lintegral_tendsto Ω _ _ _ γ F μs μ).mpr
intro f
have key :=
- @Ennreal.tendsto_toReal_iff _ F _
+ @ENNReal.tendsto_toReal_iff _ F _
(fun i => (lintegral_lt_top_of_bounded_continuous_to_nnreal (μs i : Measure Ω) f).Ne) _
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f).Ne
- simp only [Ennreal.ofReal_coe_nNReal] at key
+ simp only [ENNReal.ofReal_coe_nnreal] at key
apply key.mp
have lip : LipschitzWith 1 (coe : ℝ≥0 → ℝ) := isometry_subtype_coe.lipschitz
set f₀ := BoundedContinuousFunction.comp _ lip f with def_f₀
@@ -744,7 +744,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
integral_eq_lintegral_of_nonneg_ae f₀_ae_nn f₀.continuous.measurable.ae_strongly_measurable
have auxs := fun i =>
integral_eq_lintegral_of_nonneg_ae (f₀_ae_nns i) f₀.continuous.measurable.ae_strongly_measurable
- simp only [f₀_eq, Ennreal.ofReal_coe_nNReal] at aux auxs
+ simp only [f₀_eq, ENNReal.ofReal_coe_nnreal] at aux auxs
simpa only [← aux, ← auxs] using h f₀
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
@@ -753,7 +753,7 @@ theorem BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral (f : Ω
by
rw [integral_eq_lintegral_of_nonneg_ae _
(nnreal.continuous_coe.comp f.continuous).Measurable.AeStronglyMeasurable]
- · simp only [Ennreal.ofReal_coe_nNReal]
+ · simp only [ENNReal.ofReal_coe_nnreal]
· apply eventually_of_forall
simp only [Pi.zero_apply, NNReal.zero_le_coe, imp_true_iff]
#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral
@@ -773,16 +773,16 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs :
set f_pos := f.nnreal_part with def_f_pos
set f_neg := (-f).nnrealPart with def_f_neg
have tends_pos :=
- (Ennreal.tendsto_toReal
+ (ENNReal.tendsto_toReal
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f_pos).Ne).comp
(h f_pos)
have tends_neg :=
- (Ennreal.tendsto_toReal
+ (ENNReal.tendsto_toReal
(lintegral_lt_top_of_bounded_continuous_to_nnreal (μ : Measure Ω) f_neg).Ne).comp
(h f_neg)
have aux :
∀ g : Ω →ᵇ ℝ≥0,
- (Ennreal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
+ (ENNReal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
(∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)).toReal :=
fun _ => rfl
simp_rw [aux, BoundedContinuousFunction.Nnreal.toReal_lintegral_eq_integral] at
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
All of these changes appear to be oversights to me.
@@ -471,7 +471,7 @@ theorem toWeakDualBCNN_continuous : Continuous (@toWeakDualBCNN Ω _ _ _) :=
continuous_induced_dom
#align measure_theory.finite_measure.to_weak_dual_bcnn_continuous MeasureTheory.FiniteMeasure.toWeakDualBCNN_continuous
-/- Integration of (nonnegative bounded continuous) test functions against finite Borel measures
+/-- Integration of (nonnegative bounded continuous) test functions against finite Borel measures
depends continuously on the measure. -/
theorem continuous_testAgainstNN_eval (f : Ω →ᵇ ℝ≥0) :
Continuous fun μ : FiniteMeasure Ω => μ.testAgainstNN f := by
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -121,7 +121,7 @@ def _root_.MeasureTheory.FiniteMeasure (Ω : Type*) [MeasurableSpace Ω] : Type
{ μ : Measure Ω // IsFiniteMeasure μ }
#align measure_theory.finite_measure MeasureTheory.FiniteMeasure
--- porting note: as with other subtype synonyms (e.g., `ℝ≥0`, we need a new function for the
+-- Porting note: as with other subtype synonyms (e.g., `ℝ≥0`, we need a new function for the
-- coercion instead of relying on `Subtype.val`.
/-- Coercion from `MeasureTheory.FiniteMeasure Ω` to `MeasureTheory.Measure Ω`. -/
@[coe]
@@ -138,7 +138,7 @@ instance isFiniteMeasure (μ : FiniteMeasure Ω) : IsFiniteMeasure (μ : Measure
instance instCoeFun : CoeFun (FiniteMeasure Ω) fun _ => Set Ω → ℝ≥0 :=
⟨fun μ s => ((μ : Measure Ω) s).toNNReal⟩
--- porting note: now a syntactic tautology because of the way coercions work in Lean 4
+-- Porting note: now a syntactic tautology because of the way coercions work in Lean 4
#noalign measure_theory.finite_measure.coe_fn_eq_to_nnreal_coe_fn_to_measure
@[simp]
@@ -222,19 +222,19 @@ variable {R : Type*} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ
instance instSMul : SMul R (FiniteMeasure Ω) where
smul (c : R) μ := ⟨c • (μ : Measure Ω), MeasureTheory.isFiniteMeasureSMulOfNNRealTower⟩
--- porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
+-- Porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
@[norm_cast]
theorem toMeasure_zero : ((↑) : FiniteMeasure Ω → Measure Ω) 0 = 0 :=
rfl
#align measure_theory.finite_measure.coe_zero MeasureTheory.FiniteMeasure.toMeasure_zero
--- porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
+-- Porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
@[norm_cast]
theorem toMeasure_add (μ ν : FiniteMeasure Ω) : ↑(μ + ν) = (↑μ + ↑ν : Measure Ω) :=
rfl
#align measure_theory.finite_measure.coe_add MeasureTheory.FiniteMeasure.toMeasure_add
--- porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
+-- Porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
@[norm_cast]
theorem toMeasure_smul (c : R) (μ : FiniteMeasure Ω) : ↑(c • μ) = c • (μ : Measure Ω) :=
rfl
@@ -276,11 +276,11 @@ def toMeasureAddMonoidHom : FiniteMeasure Ω →+ Measure Ω where
instance {Ω : Type*} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
Function.Injective.module _ toMeasureAddMonoidHom toMeasure_injective toMeasure_smul
--- porting note: `@[simp]` breaks the LHS of `coeFn_smul`
+-- Porting note: `@[simp]` breaks the LHS of `coeFn_smul`
theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) (s : Set Ω) :
(c • μ) s = c • μ s := by
rw [coeFn_smul, Pi.smul_apply]
- -- porting note: why doesn't `simp only` work in place of `rw` here?
+ -- Porting note: why doesn't `simp only` work in place of `rw` here?
#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasure.coeFn_smul_apply
/-- Restrict a finite measure μ to a set A. -/
ℝ≥0 → ℝ≥0∞
commute defeqly with nsmul
and pow
(#10225)
by tweaking the definition of the AddMonoid
and MonoidWithZero
instances for WithTop
. Also unprotect ENNReal.coe_injective
and rename ENNReal.coe_eq_coe → ENNReal.coe_inj
.
From LeanAPAP
@@ -248,7 +248,7 @@ theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set
@[simp, norm_cast]
theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) := by
funext
- simp only [Pi.add_apply, ← ENNReal.coe_eq_coe, ne_eq, ennreal_coeFn_eq_coeFn_toMeasure,
+ simp only [Pi.add_apply, ← ENNReal.coe_inj, ne_eq, ennreal_coeFn_eq_coeFn_toMeasure,
ENNReal.coe_add]
norm_cast
#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
@@ -257,7 +257,7 @@ theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥
theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by
funext
- simp only [Pi.smul_apply, ← ENNReal.coe_eq_coe, ne_eq, ennreal_coeFn_eq_coeFn_toMeasure,
+ simp only [Pi.smul_apply, ← ENNReal.coe_inj, ne_eq, ennreal_coeFn_eq_coeFn_toMeasure,
ENNReal.coe_smul]
norm_cast
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
@@ -343,7 +343,7 @@ theorem testAgainstNN_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
theorem testAgainstNN_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
μ.testAgainstNN (BoundedContinuousFunction.const Ω c) = c * μ.mass := by
- simp [← ENNReal.coe_eq_coe]
+ simp [← ENNReal.coe_inj]
#align measure_theory.finite_measure.test_against_nn_const MeasureTheory.FiniteMeasure.testAgainstNN_const
theorem testAgainstNN_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
@@ -387,7 +387,7 @@ variable [OpensMeasurableSpace Ω]
theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN (f₁ + f₂) = μ.testAgainstNN f₁ + μ.testAgainstNN f₂ := by
- simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
+ simp only [← ENNReal.coe_inj, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
testAgainstNN_coe_eq]
exact lintegral_add_left (BoundedContinuousFunction.measurable_coe_ennreal_comp _) _
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNN_add
@@ -395,7 +395,7 @@ theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0
theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
[BoundedSMul R ℝ≥0] (μ : FiniteMeasure Ω) (c : R) (f : Ω →ᵇ ℝ≥0) :
μ.testAgainstNN (c • f) = c • μ.testAgainstNN f := by
- simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_smul, testAgainstNN_coe_eq,
+ simp only [← ENNReal.coe_inj, BoundedContinuousFunction.coe_smul, testAgainstNN_coe_eq,
ENNReal.coe_smul]
simp_rw [← smul_one_smul ℝ≥0∞ c (f _ : ℝ≥0∞), ← smul_one_smul ℝ≥0∞ c (lintegral _ _ : ℝ≥0∞),
smul_eq_mul]
@
replace with arguments for implicit parameters (#10194)
The porting note seems to have slightly mis-diagnosed the problem here. This is more accurate and easier to read.
@@ -477,8 +477,8 @@ theorem continuous_testAgainstNN_eval (f : Ω →ᵇ ℝ≥0) :
Continuous fun μ : FiniteMeasure Ω => μ.testAgainstNN f := by
show Continuous ((fun φ : WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0) => φ f) ∘ toWeakDualBCNN)
refine Continuous.comp ?_ (toWeakDualBCNN_continuous (Ω := Ω))
- exact @WeakBilin.eval_continuous _ _ _ _ _ _ ContinuousLinearMap.module _ _ _ _
- /- porting note: without explicitly providing `ContinuousLinearMap.module`, TC synthesis times
+ exact WeakBilin.eval_continuous (𝕜 := ℝ≥0) (E := (Ω →ᵇ ℝ≥0) →L[ℝ≥0] ℝ≥0) _ _
+ /- porting note: without explicitly providing `𝕜` and `E` TC synthesis times
out trying to find `Module ℝ≥0 ((Ω →ᵇ ℝ≥0) →L[ℝ≥0] ℝ≥0)`, but it can find it with enough time:
`set_option synthInstance.maxHeartbeats 47000` was sufficient. -/
#align measure_theory.finite_measure.continuous_test_against_nn_eval MeasureTheory.FiniteMeasure.continuous_testAgainstNN_eval
Clm
-> CLM
, Cle
-> CLE
(#10018)
Rename
Complex.equivRealProdClm
→ Complex.equivRealProdCLM
;
CLE
?Complex.reClm
→ Complex.reCLM
;Complex.imClm
→ Complex.imCLM
;Complex.conjLie
→ Complex.conjLIE
;Complex.conjCle
→ Complex.conjCLE
;Complex.ofRealLi
→ Complex.ofRealLI
;Complex.ofRealClm
→ Complex.ofRealCLM
;fderivInnerClm
→ fderivInnerCLM
;LinearPMap.adjointDomainMkClm
→ LinearPMap.adjointDomainMkCLM
;LinearPMap.adjointDomainMkClmExtend
→ LinearPMap.adjointDomainMkCLMExtend
;IsROrC.reClm
→ IsROrC.reCLM
;IsROrC.imClm
→ IsROrC.imCLM
;IsROrC.conjLie
→ IsROrC.conjLIE
;IsROrC.conjCle
→ IsROrC.conjCLE
;IsROrC.ofRealLi
→ IsROrC.ofRealLI
;IsROrC.ofRealClm
→ IsROrC.ofRealCLM
;MeasureTheory.condexpL1Clm
→ MeasureTheory.condexpL1CLM
;algebraMapClm
→ algebraMapCLM
;WeakDual.CharacterSpace.toClm
→ WeakDual.CharacterSpace.toCLM
;BoundedContinuousFunction.evalClm
→ BoundedContinuousFunction.evalCLM
;ContinuousMap.evalClm
→ ContinuousMap.evalCLM
;TrivSqZeroExt.fstClm
→ TrivSqZeroExt.fstClm
;TrivSqZeroExt.sndClm
→ TrivSqZeroExt.sndCLM
;TrivSqZeroExt.inlClm
→ TrivSqZeroExt.inlCLM
;TrivSqZeroExt.inrClm
→ TrivSqZeroExt.inrCLM
and related theorems.
@@ -30,7 +30,7 @@ The main definitions are
topology of weak convergence.
* `MeasureTheory.FiniteMeasure.map`: The push-forward `f* μ` of a finite measure `μ` on `Ω`
along a measurable function `f : Ω → Ω'`.
- * `MeasureTheory.FiniteMeasure.mapClm`: The push-forward along a given continuous `f : Ω → Ω'`
+ * `MeasureTheory.FiniteMeasure.mapCLM`: The push-forward along a given continuous `f : Ω → Ω'`
as a continuous linear map `f* : FiniteMeasure Ω →L[ℝ≥0] FiniteMeasure Ω'`.
## Main results
@@ -809,7 +809,7 @@ lemma continuous_map {f : Ω → Ω'} (f_cont : Continuous f) :
/-- The push-forward of a finite measure by a continuous function between Borel spaces as
a continuous linear map. -/
-noncomputable def mapClm {f : Ω → Ω'} (f_cont : Continuous f) :
+noncomputable def mapCLM {f : Ω → Ω'} (f_cont : Continuous f) :
FiniteMeasure Ω →L[ℝ≥0] FiniteMeasure Ω' where
toFun := fun ν ↦ ν.map f
map_add' := map_add f_cont.measurable
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -571,7 +571,7 @@ lemma injective_toWeakDualBCNN :
intro μ ν hμν
apply ext_of_forall_lintegral_eq
intro f
- have key := congr_fun (congrArg FunLike.coe hμν) f
+ have key := congr_fun (congrArg DFunLike.coe hμν) f
apply (ENNReal.toNNReal_eq_toNNReal_iff' ?_ ?_).mp key
· exact (lintegral_lt_top_of_nnreal μ f).ne
· exact (lintegral_lt_top_of_nnreal ν f).ne
This PR defines binary products of finite measures and probability measures.
Co-authored-by: kkytola <“kalle.kytola@aalto.fi”> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: kkytola <39528102+kkytola@users.noreply.github.com>
@@ -744,6 +744,9 @@ noncomputable def map (ν : FiniteMeasure Ω) (f : Ω → Ω') : FiniteMeasure
exact measure_lt_top (↑ν) (f ⁻¹' univ)
· simp [Measure.map, f_aemble]⟩
+@[simp] lemma toMeasure_map (ν : FiniteMeasure Ω) (f : Ω → Ω') :
+ (ν.map f).toMeasure = ν.toMeasure.map f := rfl
+
/-- Note that this is an equality of elements of `ℝ≥0∞`. See also
`MeasureTheory.FiniteMeasure.map_apply` for the corresponding equality as elements of `ℝ≥0`. -/
lemma map_apply' (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_aemble : AEMeasurable f ν)
@@ -757,7 +760,7 @@ lemma map_apply_of_aemeasurable (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_aemb
have := ν.map_apply' f_aemble A_mble
exact (ENNReal.toNNReal_eq_toNNReal_iff' (measure_ne_top _ _) (measure_ne_top _ _)).mpr this
-@[simp] lemma map_apply (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_mble : Measurable f)
+lemma map_apply (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_mble : Measurable f)
{A : Set Ω'} (A_mble : MeasurableSet A) :
ν.map f A = ν (f ⁻¹' A) :=
map_apply_of_aemeasurable ν f_mble.aemeasurable A_mble
@@ -765,19 +768,19 @@ lemma map_apply_of_aemeasurable (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_aemb
@[simp] lemma map_add {f : Ω → Ω'} (f_mble : Measurable f) (ν₁ ν₂ : FiniteMeasure Ω) :
(ν₁ + ν₂).map f = ν₁.map f + ν₂.map f := by
ext s s_mble
- simp [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_add]
+ simp only [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_add, Measure.add_apply]
-@[simp] lemma map_smul {f : Ω → Ω'} (f_mble : Measurable f) (c : ℝ≥0) (ν : FiniteMeasure Ω) :
+@[simp] lemma map_smul {f : Ω → Ω'} (c : ℝ≥0) (ν : FiniteMeasure Ω) :
(c • ν).map f = c • (ν.map f) := by
- ext s s_mble
- simp [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_smul]
+ ext s _
+ simp [toMeasure_smul]
/-- The push-forward of a finite measure by a function between measurable spaces as a linear map. -/
noncomputable def mapHom {f : Ω → Ω'} (f_mble : Measurable f) :
FiniteMeasure Ω →ₗ[ℝ≥0] FiniteMeasure Ω' where
toFun := fun ν ↦ ν.map f
map_add' := map_add f_mble
- map_smul' := map_smul f_mble
+ map_smul' := map_smul
variable [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
variable [TopologicalSpace Ω'] [BorelSpace Ω']
@@ -810,7 +813,7 @@ noncomputable def mapClm {f : Ω → Ω'} (f_cont : Continuous f) :
FiniteMeasure Ω →L[ℝ≥0] FiniteMeasure Ω' where
toFun := fun ν ↦ ν.map f
map_add' := map_add f_cont.measurable
- map_smul' := map_smul f_cont.measurable
+ map_smul' := map_smul
cont := continuous_map f_cont
end map -- section
This PR adds a type class HasOuterApproxClosed
for topological spaces in which indicator functions of closed sets can be approximated from above by sequences of bounded continuous functions. All pseudo-(e)metrizable spaces satisfy this.
In spaces with this property, finite Borel measures are characterized by the integrals of bounded continuous functions. Also weak limits of finite Borel measures are unique. More precisely, the topologies of weak convergence of finite Borel measures and of Borel probability measures are Hausdorff.
Co-authored-by: Peter Pfaffelhuber <p.p@stochastik.uni-freiburg.de>
Co-authored-by: kkytola <39528102+kkytola@users.noreply.github.com> Co-authored-by: kkytola <“kalle.kytola@aalto.fi”>
@@ -5,6 +5,7 @@ Authors: Kalle Kytölä
-/
import Mathlib.Topology.Algebra.Module.WeakDual
import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction
+import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed
#align_import measure_theory.measure.finite_measure from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
@@ -45,6 +46,9 @@ The main definitions are
`MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto`.
* `MeasureTheory.FiniteMeasure.continuous_map`: For a continuous function `f : Ω → Ω'`, the
push-forward of finite measures `f* : FiniteMeasure Ω → FiniteMeasure Ω'` is continuous.
+ * `MeasureTheory.FiniteMeasure.t2Space`: The topology of weak convergence of finite Borel measures
+ is Hausdorff on spaces where indicators of closed sets have continuous decreasing approximating
+ sequences (in particular on any pseudo-metrizable spaces).
## Implementation notes
@@ -315,6 +319,15 @@ theorem restrict_nonzero_iff (μ : FiniteMeasure Ω) (A : Set Ω) : μ.restrict
variable [TopologicalSpace Ω]
+/-- Two finite Borel measures are equal if the integrals of all bounded continuous functions with
+respect to both agree. -/
+theorem ext_of_forall_lintegral_eq [HasOuterApproxClosed Ω] [BorelSpace Ω]
+ {μ ν : FiniteMeasure Ω} (h : ∀ (f : Ω →ᵇ ℝ≥0), ∫⁻ x, f x ∂μ = ∫⁻ x, f x ∂ν) :
+ μ = ν := by
+ apply Subtype.ext
+ change (μ : Measure Ω) = (ν : Measure Ω)
+ exact ext_of_forall_lintegral_eq_of_IsFiniteMeasure h
+
/-- The pairing of a finite (Borel) measure `μ` with a nonnegative bounded continuous
function is obtained by (Lebesgue) integrating the (test) function against the measure.
This is `MeasureTheory.FiniteMeasure.testAgainstNN`. -/
@@ -368,6 +381,8 @@ theorem smul_testAgainstNN_apply (c : ℝ≥0) (μ : FiniteMeasure Ω) (f : Ω
lintegral_smul_measure]
#align measure_theory.finite_measure.smul_test_against_nn_apply MeasureTheory.FiniteMeasure.smul_testAgainstNN_apply
+section weak_convergence
+
variable [OpensMeasurableSpace Ω]
theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0) :
@@ -540,6 +555,42 @@ theorem tendsto_iff_forall_lintegral_tendsto {γ : Type*} {F : Filter γ} {μs :
ENNReal.toNNReal_coe]
#align measure_theory.finite_measure.tendsto_iff_forall_lintegral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto
+end weak_convergence -- section
+
+section Hausdorff
+
+variable [HasOuterApproxClosed Ω] [BorelSpace Ω]
+
+open Function
+
+/-- The mapping `toWeakDualBCNN` from finite Borel measures to the weak dual of `Ω →ᵇ ℝ≥0` is
+injective, if in the underlying space `Ω`, indicator functions of closed sets have decreasing
+approximations by sequences of continuous functions (in particular if `Ω` is pseudometrizable). -/
+lemma injective_toWeakDualBCNN :
+ Injective (toWeakDualBCNN : FiniteMeasure Ω → WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)) := by
+ intro μ ν hμν
+ apply ext_of_forall_lintegral_eq
+ intro f
+ have key := congr_fun (congrArg FunLike.coe hμν) f
+ apply (ENNReal.toNNReal_eq_toNNReal_iff' ?_ ?_).mp key
+ · exact (lintegral_lt_top_of_nnreal μ f).ne
+ · exact (lintegral_lt_top_of_nnreal ν f).ne
+
+variable (Ω)
+
+lemma embedding_toWeakDualBCNN :
+ Embedding (toWeakDualBCNN : FiniteMeasure Ω → WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0)) where
+ induced := rfl
+ inj := injective_toWeakDualBCNN
+
+/-- On topological spaces where indicators of closed sets have decreasing approximating sequences of
+continuous functions (`HasOuterApproxClosed`), the topology of weak convergence of finite Borel
+measures is Hausdorff (`T2Space`). -/
+instance t2Space : T2Space (FiniteMeasure Ω) :=
+ Embedding.t2Space (embedding_toWeakDualBCNN Ω)
+
+end Hausdorff -- section
+
end FiniteMeasure
-- section
@@ -553,35 +604,13 @@ This section is about bounded convergence theorems for finite measures.
variable {Ω : Type*} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-/-- A bounded convergence theorem for a finite measure:
-If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
-limit, then their integrals against the finite measure tend to the integral of the limit.
-This formulation assumes:
- * the functions tend to a limit along a countably generated filter;
- * the limit is in the almost everywhere sense;
- * boundedness holds almost everywhere;
- * integration is `MeasureTheory.lintegral`, i.e., the functions and their integrals are
- `ℝ≥0∞`-valued.
--/
-theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type*} {L : Filter ι} [L.IsCountablyGenerated]
- (μ : Measure Ω) [IsFiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
- (fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂μ, fs i ω ≤ c) {f : Ω → ℝ≥0}
- (fs_lim : ∀ᵐ ω : Ω ∂μ, Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
- Tendsto (fun i => ∫⁻ ω, fs i ω ∂μ) L (𝓝 (∫⁻ ω, f ω ∂μ)) := by
- refine tendsto_lintegral_filter_of_dominated_convergence (fun _ => c)
- (eventually_of_forall fun i => (ENNReal.continuous_coe.comp (fs i).continuous).measurable) ?_
- (@lintegral_const_lt_top _ _ μ _ _ (@ENNReal.coe_ne_top c)).ne ?_
- · simpa only [Function.comp_apply, ENNReal.coe_le_coe] using fs_le_const
- · simpa only [Function.comp_apply, ENNReal.tendsto_coe] using fs_lim
-#align measure_theory.finite_measure.tendsto_lintegral_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const
-
/-- A bounded convergence theorem for a finite measure:
If a sequence of bounded continuous non-negative functions are uniformly bounded by a constant
and tend pointwise to a limit, then their integrals (`MeasureTheory.lintegral`) against the finite
measure tend to the integral of the limit.
A related result with more general assumptions is
-`MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const`.
+`MeasureTheory.tendsto_lintegral_nn_filter_of_le_const`.
-/
theorem tendsto_lintegral_nn_of_le_const (μ : FiniteMeasure Ω) {fs : ℕ → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ n ω, fs n ω ≤ c) {f : Ω → ℝ≥0}
Following on from previous gcongr
golfing PRs #4702 and #4784.
This is a replacement for #7901: this round of golfs, first introduced there, there exposed some performance issues in gcongr
, hopefully fixed by #8731, and I am opening a new PR so that the performance can be checked against current master rather than master at the time of #7901.
@@ -336,7 +336,8 @@ theorem testAgainstNN_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
theorem testAgainstNN_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_le_g : (f : Ω → ℝ≥0) ≤ g) :
μ.testAgainstNN f ≤ μ.testAgainstNN g := by
simp only [← ENNReal.coe_le_coe, testAgainstNN_coe_eq]
- exact lintegral_mono fun ω => ENNReal.coe_mono (f_le_g ω)
+ gcongr
+ apply f_le_g
#align measure_theory.finite_measure.test_against_nn_mono MeasureTheory.FiniteMeasure.testAgainstNN_mono
@[simp]
@@ -732,12 +732,12 @@ lemma map_apply_of_aemeasurable (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_aemb
ν.map f A = ν (f ⁻¹' A) :=
map_apply_of_aemeasurable ν f_mble.aemeasurable A_mble
-@[simp] lemma map_add {f : Ω → Ω'} (f_mble : Measurable f) (ν₁ ν₂ : FiniteMeasure Ω) :
+@[simp] lemma map_add {f : Ω → Ω'} (f_mble : Measurable f) (ν₁ ν₂ : FiniteMeasure Ω) :
(ν₁ + ν₂).map f = ν₁.map f + ν₂.map f := by
ext s s_mble
simp [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_add]
-@[simp] lemma map_smul {f : Ω → Ω'} (f_mble : Measurable f) (c : ℝ≥0) (ν : FiniteMeasure Ω) :
+@[simp] lemma map_smul {f : Ω → Ω'} (f_mble : Measurable f) (c : ℝ≥0) (ν : FiniteMeasure Ω) :
(c • ν).map f = c • (ν.map f) := by
ext s s_mble
simp [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_smul]
Removes nonterminal simps on lines looking like simp [...]
@@ -244,7 +244,8 @@ theorem coeFn_zero : (⇑(0 : FiniteMeasure Ω) : Set Ω → ℝ≥0) = (0 : Set
@[simp, norm_cast]
theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥0) = (⇑μ + ⇑ν : Set Ω → ℝ≥0) := by
funext
- simp [← ENNReal.coe_eq_coe]
+ simp only [Pi.add_apply, ← ENNReal.coe_eq_coe, ne_eq, ennreal_coeFn_eq_coeFn_toMeasure,
+ ENNReal.coe_add]
norm_cast
#align measure_theory.finite_measure.coe_fn_add MeasureTheory.FiniteMeasure.coeFn_add
@@ -252,7 +253,8 @@ theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥
theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by
funext
- simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
+ simp only [Pi.smul_apply, ← ENNReal.coe_eq_coe, ne_eq, ennreal_coeFn_eq_coeFn_toMeasure,
+ ENNReal.coe_smul]
norm_cast
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
Type _
before the colon (#7718)
We have turned to Type*
instead of Type _
, but many of them remained in mathlib because the straight replacement did not work. In general, having Type _
before the colon is a code smell, though, as it hides which types should be in the same universe and which shouldn't, and is not very robust.
This PR replaces most of the remaining Type _
before the colon (except those in category theory) by Type*
or Type u
. This has uncovered a few bugs (where declarations were not as polymorphic as they should be).
I had to increase heartbeats at two places when replacing Type _
by Type*
, but I think it's worth it as it's really more robust.
@@ -701,7 +701,7 @@ end FiniteMeasureConvergenceByBoundedContinuousFunctions -- section
section map
-variable {Ω Ω' : Type _} [MeasurableSpace Ω] [MeasurableSpace Ω']
+variable {Ω Ω' : Type*} [MeasurableSpace Ω] [MeasurableSpace Ω']
/-- The push-forward of a finite measure by a function between measurable spaces. -/
noncomputable def map (ν : FiniteMeasure Ω) (f : Ω → Ω') : FiniteMeasure Ω' :=
@@ -3,9 +3,8 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kalle Kytölä
-/
-import Mathlib.Topology.ContinuousFunction.Bounded
import Mathlib.Topology.Algebra.Module.WeakDual
-import Mathlib.MeasureTheory.Integral.Bochner
+import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction
#align_import measure_theory.measure.finite_measure from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
@@ -321,29 +320,10 @@ def testAgainstNN (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNN
-theorem _root_.BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type*}
- [TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
- Measurable fun ω => (f ω : ℝ≥0∞) :=
- measurable_coe_nnreal_ennreal.comp f.continuous.measurable
-#align bounded_continuous_function.nnreal.to_ennreal_comp_measurable BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable
-
-theorem _root_.MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
- [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ := by
- apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_ennreal
- use nndist f 0
- intro x
- have key := BoundedContinuousFunction.Nnreal.upper_bound f x
- rw [ENNReal.coe_le_coe]
- have eq : nndist f 0 = ⟨dist f 0, dist_nonneg⟩ := by
- ext
- simp only [Real.coe_toNNReal', max_eq_left_iff, NNReal.coe_mk, coe_nndist]
- rwa [eq] at key
-#align measure_theory.lintegral_lt_top_of_bounded_continuous_to_nnreal MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal
-
@[simp]
theorem testAgainstNN_coe_eq {μ : FiniteMeasure Ω} {f : Ω →ᵇ ℝ≥0} :
(μ.testAgainstNN f : ℝ≥0∞) = ∫⁻ ω, f ω ∂(μ : Measure Ω) :=
- ENNReal.coe_toNNReal (lintegral_lt_top_of_boundedContinuous_to_nnreal _ f).ne
+ ENNReal.coe_toNNReal (f.lintegral_lt_top_of_nnreal _).ne
#align measure_theory.finite_measure.test_against_nn_coe_eq MeasureTheory.FiniteMeasure.testAgainstNN_coe_eq
theorem testAgainstNN_const (μ : FiniteMeasure Ω) (c : ℝ≥0) :
@@ -391,7 +371,7 @@ theorem testAgainstNN_add (μ : FiniteMeasure Ω) (f₁ f₂ : Ω →ᵇ ℝ≥0
μ.testAgainstNN (f₁ + f₂) = μ.testAgainstNN f₁ + μ.testAgainstNN f₂ := by
simp only [← ENNReal.coe_eq_coe, BoundedContinuousFunction.coe_add, ENNReal.coe_add, Pi.add_apply,
testAgainstNN_coe_eq]
- exact lintegral_add_left (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable _) _
+ exact lintegral_add_left (BoundedContinuousFunction.measurable_coe_ennreal_comp _) _
#align measure_theory.finite_measure.test_against_nn_add MeasureTheory.FiniteMeasure.testAgainstNN_add
theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace R] [Zero R]
@@ -402,8 +382,7 @@ theorem testAgainstNN_smul [IsScalarTower R ℝ≥0 ℝ≥0] [PseudoMetricSpace
simp_rw [← smul_one_smul ℝ≥0∞ c (f _ : ℝ≥0∞), ← smul_one_smul ℝ≥0∞ c (lintegral _ _ : ℝ≥0∞),
smul_eq_mul]
exact
- @lintegral_const_mul _ _ (μ : Measure Ω) (c • (1 : ℝ≥0∞)) _
- (BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable f)
+ @lintegral_const_mul _ _ (μ : Measure Ω) (c • (1 : ℝ≥0∞)) _ f.measurable_coe_ennreal_comp
#align measure_theory.finite_measure.test_against_nn_smul MeasureTheory.FiniteMeasure.testAgainstNN_smul
theorem testAgainstNN_lipschitz_estimate (μ : FiniteMeasure Ω) (f g : Ω →ᵇ ℝ≥0) :
@@ -628,9 +607,7 @@ theorem tendsto_testAgainstNN_filter_of_le_const {ι : Type*} {L : Filter ι}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂(μ : Measure Ω), fs i ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂(μ : Measure Ω), Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
Tendsto (fun i => μ.testAgainstNN (fs i)) L (𝓝 (μ.testAgainstNN f)) := by
- apply
- (ENNReal.tendsto_toNNReal
- (lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω) f).ne).comp
+ apply (ENNReal.tendsto_toNNReal (f.lintegral_lt_top_of_nnreal (μ : Measure Ω)).ne).comp
exact tendsto_lintegral_nn_filter_of_le_const μ fs_le_const fs_lim
#align measure_theory.finite_measure.tendsto_test_against_nn_filter_of_le_const MeasureTheory.FiniteMeasure.tendsto_testAgainstNN_filter_of_le_const
@@ -668,40 +645,6 @@ condition that the integrals of all bounded continuous real-valued functions con
variable {Ω : Type*} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
-theorem integrable_of_boundedContinuous_to_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
- (f : Ω →ᵇ ℝ≥0) : Integrable (((↑) : ℝ≥0 → ℝ) ∘ ⇑f) μ := by
- refine' ⟨(NNReal.continuous_coe.comp f.continuous).measurable.aestronglyMeasurable, _⟩
- simp only [HasFiniteIntegral, Function.comp_apply, NNReal.nnnorm_eq]
- exact lintegral_lt_top_of_boundedContinuous_to_nnreal _ f
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_nnreal MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_nnreal
-
-theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- Integrable (⇑f) μ := by
- refine' ⟨f.continuous.measurable.aestronglyMeasurable, _⟩
- have aux : ((↑) : ℝ≥0 → ℝ) ∘ ⇑f.nnnorm = fun x => ‖f x‖ := by
- ext ω
- simp only [Function.comp_apply, BoundedContinuousFunction.nnnorm_coeFn_eq, coe_nnnorm]
- apply (hasFiniteIntegral_iff_norm f).mpr
- rw [← ofReal_integral_eq_lintegral_ofReal]
- · exact ENNReal.ofReal_lt_top
- · exact aux ▸ integrable_of_boundedContinuous_to_nnreal μ f.nnnorm
- · exact eventually_of_forall fun ω => norm_nonneg (f ω)
-#align measure_theory.finite_measure.integrable_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.integrable_of_boundedContinuous_to_real
-
-theorem _root_.BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
- [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- ∫ ω, f ω ∂μ = (∫ ω, (f.nnrealPart ω : ℝ) ∂μ) - ∫ ω, ((-f).nnrealPart ω : ℝ) ∂μ := by
- simp only [f.self_eq_nnrealPart_sub_nnrealPart_neg, Pi.sub_apply, integral_sub,
- integrable_of_boundedContinuous_to_nnreal]
- rfl
-#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
-
-theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type*} [MeasurableSpace Ω]
- [TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- (∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
- lintegral_lt_top_of_boundedContinuous_to_nnreal _ f.nnrealPart
-#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real
-
theorem tendsto_of_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω}
(h :
@@ -712,8 +655,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs :
intro f
have key :=
@ENNReal.tendsto_toReal_iff _ F _
- (fun i => (lintegral_lt_top_of_boundedContinuous_to_nnreal (μs i : Measure Ω) f).ne) _
- (lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω) f).ne
+ (fun i => (f.lintegral_lt_top_of_nnreal (μs i)).ne) _ (f.lintegral_lt_top_of_nnreal μ).ne
simp only [ENNReal.ofReal_coe_nnreal] at key
apply key.mp
have lip : LipschitzWith 1 ((↑) : ℝ≥0 → ℝ) := isometry_subtype_coe.lipschitz
@@ -731,15 +673,6 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs :
simpa only [← aux, ← auxs] using h f₀
#align measure_theory.finite_measure.tendsto_of_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_of_forall_integral_tendsto
-theorem _root_.BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral (f : Ω →ᵇ ℝ≥0)
- (μ : Measure Ω) : (∫⁻ x, (f x : ℝ≥0∞) ∂μ).toReal = ∫ x, (f x : ℝ) ∂μ := by
- rw [integral_eq_lintegral_of_nonneg_ae _ (by simpa [Function.comp_apply] using
- (NNReal.continuous_coe.comp f.continuous).measurable.aestronglyMeasurable)]
- · simp only [ENNReal.ofReal_coe_nnreal]
- · apply eventually_of_forall
- simp only [Pi.zero_apply, NNReal.zero_le_coe, imp_true_iff]
-#align bounded_continuous_function.nnreal.to_real_lintegral_eq_integral BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral
-
/-- A characterization of weak convergence in terms of integrals of bounded continuous
real-valued functions. -/
theorem tendsto_iff_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
@@ -753,21 +686,14 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs :
simp_rw [BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub]
set f_pos := f.nnrealPart with _def_f_pos
set f_neg := (-f).nnrealPart with _def_f_neg
- have tends_pos :=
- (ENNReal.tendsto_toReal
- (lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω) f_pos).ne).comp
- (h f_pos)
- have tends_neg :=
- (ENNReal.tendsto_toReal
- (lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω) f_neg).ne).comp
- (h f_neg)
+ have tends_pos := (ENNReal.tendsto_toReal (f_pos.lintegral_lt_top_of_nnreal μ).ne).comp (h f_pos)
+ have tends_neg := (ENNReal.tendsto_toReal (f_neg.lintegral_lt_top_of_nnreal μ).ne).comp (h f_neg)
have aux :
∀ g : Ω →ᵇ ℝ≥0,
(ENNReal.toReal ∘ fun i : γ => ∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)) = fun i : γ =>
(∫⁻ x : Ω, ↑(g x) ∂(μs i : Measure Ω)).toReal :=
fun _ => rfl
- simp_rw [aux, BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral]
- at tends_pos tends_neg
+ simp_rw [aux, BoundedContinuousFunction.toReal_lintegral_coe_eq_integral] at tends_pos tends_neg
exact Tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
@@ -216,8 +216,8 @@ instance instAdd : Add (FiniteMeasure Ω) where add μ ν := ⟨μ + ν, Measure
variable {R : Type*} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ≥0 ℝ≥0∞]
[IsScalarTower R ℝ≥0∞ ℝ≥0∞]
-instance instSMul : SMul R (FiniteMeasure Ω)
- where smul (c : R) μ := ⟨c • (μ : Measure Ω), MeasureTheory.isFiniteMeasureSMulOfNNRealTower⟩
+instance instSMul : SMul R (FiniteMeasure Ω) where
+ smul (c : R) μ := ⟨c • (μ : Measure Ω), MeasureTheory.isFiniteMeasureSMulOfNNRealTower⟩
-- porting note: with `simp` here the `coeFn` lemmas below fall prey to `simpNF`: the LHS simplifies
@[norm_cast]
@@ -718,7 +718,7 @@ theorem tendsto_of_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs :
apply key.mp
have lip : LipschitzWith 1 ((↑) : ℝ≥0 → ℝ) := isometry_subtype_coe.lipschitz
set f₀ := BoundedContinuousFunction.comp _ lip f with _def_f₀
- have f₀_eq : ⇑f₀ = ((↑) : ℝ≥0 → ℝ) ∘ ⇑f := by rfl
+ have f₀_eq : ⇑f₀ = ((↑) : ℝ≥0 → ℝ) ∘ ⇑f := rfl
have f₀_nn : 0 ≤ ⇑f₀ := fun _ => by
simp only [f₀_eq, Pi.zero_apply, Function.comp_apply, NNReal.zero_le_coe]
have f₀_ae_nn : 0 ≤ᵐ[(μ : Measure Ω)] ⇑f₀ := eventually_of_forall f₀_nn
@@ -329,7 +329,7 @@ theorem _root_.BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω
theorem _root_.MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ≥0) : (∫⁻ ω, f ω ∂μ) < ∞ := by
- apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
+ apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_ennreal
use nndist f 0
intro x
have key := BoundedContinuousFunction.Nnreal.upper_bound f x
Add push-forwards of finite measures and probability measures, and prove that push-forwards under continuous functions are continuous (w.r.t. the topologies of weak convergence of measures).
Besides being a natural addition to the API, this should enable simple proofs of, for example, continuity of some parametric distributions (multi-dimensional gaussians, exponential distribution, ...) with respect to their parameters.
Co-authored-by: kkytola <39528102+kkytola@users.noreply.github.com>
@@ -22,11 +22,16 @@ measure is continuous.
## Main definitions
The main definitions are
- * the type `MeasureTheory.FiniteMeasure Ω` with the topology of weak convergence;
- * `MeasureTheory.FiniteMeasure.toWeakDualBCNN : FiniteMeasure Ω → (WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0))`
- allowing to interpret a finite measure as a continuous linear functional on the space of
+ * `MeasureTheory.FiniteMeasure Ω`: The type of finite measures on `Ω` with the topology of weak
+ convergence of measures.
+ * `MeasureTheory.FiniteMeasure.toWeakDualBCNN : FiniteMeasure Ω → (WeakDual ℝ≥0 (Ω →ᵇ ℝ≥0))`:
+ Interpret a finite measure as a continuous linear functional on the space of
bounded continuous nonnegative functions on `Ω`. This is used for the definition of the
topology of weak convergence.
+ * `MeasureTheory.FiniteMeasure.map`: The push-forward `f* μ` of a finite measure `μ` on `Ω`
+ along a measurable function `f : Ω → Ω'`.
+ * `MeasureTheory.FiniteMeasure.mapClm`: The push-forward along a given continuous `f : Ω → Ω'`
+ as a continuous linear map `f* : FiniteMeasure Ω →L[ℝ≥0] FiniteMeasure Ω'`.
## Main results
@@ -39,6 +44,8 @@ The main definitions are
of weak convergence of measures. A similar characterization by the convergence of integrals (in
the `MeasureTheory.lintegral` sense) of all bounded continuous nonnegative functions is
`MeasureTheory.FiniteMeasure.tendsto_iff_forall_lintegral_tendsto`.
+ * `MeasureTheory.FiniteMeasure.continuous_map`: For a continuous function `f : Ω → Ω'`, the
+ push-forward of finite measures `f* : FiniteMeasure Ω → FiniteMeasure Ω'` is continuous.
## Implementation notes
@@ -764,12 +771,92 @@ theorem tendsto_iff_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs :
exact Tendsto.sub tends_pos tends_neg
#align measure_theory.finite_measure.tendsto_iff_forall_integral_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_integral_tendsto
-end FiniteMeasureConvergenceByBoundedContinuousFunctions
-
--- section
-end FiniteMeasure
-
--- namespace
-end MeasureTheory
-
--- namespace
+end FiniteMeasureConvergenceByBoundedContinuousFunctions -- section
+
+section map
+
+variable {Ω Ω' : Type _} [MeasurableSpace Ω] [MeasurableSpace Ω']
+
+/-- The push-forward of a finite measure by a function between measurable spaces. -/
+noncomputable def map (ν : FiniteMeasure Ω) (f : Ω → Ω') : FiniteMeasure Ω' :=
+ ⟨(ν : Measure Ω).map f, by
+ constructor
+ by_cases f_aemble : AEMeasurable f ν
+ · rw [Measure.map_apply_of_aemeasurable f_aemble MeasurableSet.univ]
+ exact measure_lt_top (↑ν) (f ⁻¹' univ)
+ · simp [Measure.map, f_aemble]⟩
+
+/-- Note that this is an equality of elements of `ℝ≥0∞`. See also
+`MeasureTheory.FiniteMeasure.map_apply` for the corresponding equality as elements of `ℝ≥0`. -/
+lemma map_apply' (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_aemble : AEMeasurable f ν)
+ {A : Set Ω'} (A_mble : MeasurableSet A) :
+ (ν.map f : Measure Ω') A = (ν : Measure Ω) (f ⁻¹' A) :=
+ Measure.map_apply_of_aemeasurable f_aemble A_mble
+
+lemma map_apply_of_aemeasurable (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_aemble : AEMeasurable f ν)
+ {A : Set Ω'} (A_mble : MeasurableSet A) :
+ ν.map f A = ν (f ⁻¹' A) := by
+ have := ν.map_apply' f_aemble A_mble
+ exact (ENNReal.toNNReal_eq_toNNReal_iff' (measure_ne_top _ _) (measure_ne_top _ _)).mpr this
+
+@[simp] lemma map_apply (ν : FiniteMeasure Ω) {f : Ω → Ω'} (f_mble : Measurable f)
+ {A : Set Ω'} (A_mble : MeasurableSet A) :
+ ν.map f A = ν (f ⁻¹' A) :=
+ map_apply_of_aemeasurable ν f_mble.aemeasurable A_mble
+
+@[simp] lemma map_add {f : Ω → Ω'} (f_mble : Measurable f) (ν₁ ν₂ : FiniteMeasure Ω) :
+ (ν₁ + ν₂).map f = ν₁.map f + ν₂.map f := by
+ ext s s_mble
+ simp [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_add]
+
+@[simp] lemma map_smul {f : Ω → Ω'} (f_mble : Measurable f) (c : ℝ≥0) (ν : FiniteMeasure Ω) :
+ (c • ν).map f = c • (ν.map f) := by
+ ext s s_mble
+ simp [map_apply' _ f_mble.aemeasurable s_mble, toMeasure_smul]
+
+/-- The push-forward of a finite measure by a function between measurable spaces as a linear map. -/
+noncomputable def mapHom {f : Ω → Ω'} (f_mble : Measurable f) :
+ FiniteMeasure Ω →ₗ[ℝ≥0] FiniteMeasure Ω' where
+ toFun := fun ν ↦ ν.map f
+ map_add' := map_add f_mble
+ map_smul' := map_smul f_mble
+
+variable [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
+variable [TopologicalSpace Ω'] [BorelSpace Ω']
+
+/-- If `f : X → Y` is continuous and `Y` is equipped with the Borel sigma algebra, then
+(weak) convergence of `FiniteMeasure`s on `X` implies (weak) convergence of the push-forwards
+of these measures by `f`. -/
+lemma tendsto_map_of_tendsto_of_continuous {ι : Type*} {L : Filter ι}
+ (νs : ι → FiniteMeasure Ω) (ν : FiniteMeasure Ω) (lim : Tendsto νs L (𝓝 ν))
+ {f : Ω → Ω'} (f_cont : Continuous f) :
+ Tendsto (fun i ↦ (νs i).map f) L (𝓝 (ν.map f)) := by
+ rw [FiniteMeasure.tendsto_iff_forall_lintegral_tendsto] at lim ⊢
+ intro g
+ convert lim (g.compContinuous ⟨f, f_cont⟩) <;>
+ · simp only [map, compContinuous_apply, ContinuousMap.coe_mk]
+ refine lintegral_map ?_ f_cont.measurable
+ exact (ENNReal.continuous_coe.comp g.continuous).measurable
+
+/-- If `f : X → Y` is continuous and `Y` is equipped with the Borel sigma algebra, then
+the push-forward of finite measures `f* : FiniteMeasure X → FiniteMeasure Y` is continuous
+(in the topologies of weak convergence of measures). -/
+lemma continuous_map {f : Ω → Ω'} (f_cont : Continuous f) :
+ Continuous (fun ν ↦ FiniteMeasure.map ν f) := by
+ rw [continuous_iff_continuousAt]
+ exact fun _ ↦ tendsto_map_of_tendsto_of_continuous _ _ continuous_id.continuousAt f_cont
+
+/-- The push-forward of a finite measure by a continuous function between Borel spaces as
+a continuous linear map. -/
+noncomputable def mapClm {f : Ω → Ω'} (f_cont : Continuous f) :
+ FiniteMeasure Ω →L[ℝ≥0] FiniteMeasure Ω' where
+ toFun := fun ν ↦ ν.map f
+ map_add' := map_add f_cont.measurable
+ map_smul' := map_smul f_cont.measurable
+ cont := continuous_map f_cont
+
+end map -- section
+
+end FiniteMeasure -- namespace
+
+end MeasureTheory -- namespace
Add one implication of portmanteau theorem: a Borel set limit condition implies a closed set limsup condition.
Co-authored-by: kkytola <“kalle.kytola@aalto.fi”> Co-authored-by: kkytola <39528102+kkytola@users.noreply.github.com>
@@ -158,6 +158,9 @@ def mass (μ : FiniteMeasure Ω) : ℝ≥0 :=
μ univ
#align measure_theory.finite_measure.mass MeasureTheory.FiniteMeasure.mass
+@[simp] theorem apply_le_mass (μ : FiniteMeasure Ω) (s : Set Ω) : μ s ≤ μ.mass := by
+ simpa using apply_mono μ (subset_univ s)
+
@[simp]
theorem ennreal_mass {μ : FiniteMeasure Ω} : (μ.mass : ℝ≥0∞) = (μ : Measure Ω) univ :=
ennreal_coeFn_eq_coeFn_toMeasure μ Set.univ
MulZeroClass.
in mul_zero
/zero_mul
(#6682)
Search&replace MulZeroClass.mul_zero
-> mul_zero
, MulZeroClass.zero_mul
-> zero_mul
.
These were introduced by Mathport, as the full name of mul_zero
is actually MulZeroClass.mul_zero
(it's exported with the short name).
@@ -349,7 +349,7 @@ theorem testAgainstNN_mono (μ : FiniteMeasure Ω) {f g : Ω →ᵇ ℝ≥0} (f_
@[simp]
theorem testAgainstNN_zero (μ : FiniteMeasure Ω) : μ.testAgainstNN 0 = 0 := by
- simpa only [MulZeroClass.zero_mul] using μ.testAgainstNN_const 0
+ simpa only [zero_mul] using μ.testAgainstNN_const 0
#align measure_theory.finite_measure.test_against_nn_zero MeasureTheory.FiniteMeasure.testAgainstNN_zero
@[simp]
@@ -524,7 +524,7 @@ theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type*} {F : Filter
refine' (Prod.tendsto_iff _ _).mpr ⟨tendsto_const_nhds, _⟩
exact (NNReal.continuous_coe.tendsto 0).comp mass_lim
have key := tendsto_mul.comp lim_pair
- rwa [MulZeroClass.mul_zero] at key
+ rwa [mul_zero] at key
#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNN_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
@@ -520,7 +520,6 @@ theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type*} {F : Filter
simp_rw [show ∀ i, dist ((μs i).testAgainstNN f) 0 = (μs i).testAgainstNN f by
simp only [dist_nndist, NNReal.nndist_zero_eq_val', eq_self_iff_true, imp_true_iff]]
refine' squeeze_zero (fun i => NNReal.coe_nonneg _) obs _
- simp_rw [NNReal.coe_mul]
have lim_pair : Tendsto (fun i => (⟨nndist f 0, (μs i).mass⟩ : ℝ × ℝ)) F (𝓝 ⟨nndist f 0, 0⟩) := by
refine' (Prod.tendsto_iff _ _).mpr ⟨tendsto_const_nhds, _⟩
exact (NNReal.continuous_coe.tendsto 0).comp mass_lim
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -103,11 +103,11 @@ and using the associated weak topology (essentially the weak-star topology on th
-/
-variable {Ω : Type _} [MeasurableSpace Ω]
+variable {Ω : Type*} [MeasurableSpace Ω]
/-- Finite measures are defined as the subtype of measures that have the property of being finite
measures (i.e., their total mass is finite). -/
-def _root_.MeasureTheory.FiniteMeasure (Ω : Type _) [MeasurableSpace Ω] : Type _ :=
+def _root_.MeasureTheory.FiniteMeasure (Ω : Type*) [MeasurableSpace Ω] : Type _ :=
{ μ : Measure Ω // IsFiniteMeasure μ }
#align measure_theory.finite_measure MeasureTheory.FiniteMeasure
@@ -203,7 +203,7 @@ instance instInhabited : Inhabited (FiniteMeasure Ω) :=
instance instAdd : Add (FiniteMeasure Ω) where add μ ν := ⟨μ + ν, MeasureTheory.isFiniteMeasureAdd⟩
-variable {R : Type _} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ≥0 ℝ≥0∞]
+variable {R : Type*} [SMul R ℝ≥0] [SMul R ℝ≥0∞] [IsScalarTower R ℝ≥0 ℝ≥0∞]
[IsScalarTower R ℝ≥0∞ ℝ≥0∞]
instance instSMul : SMul R (FiniteMeasure Ω)
@@ -258,7 +258,7 @@ def toMeasureAddMonoidHom : FiniteMeasure Ω →+ Measure Ω where
map_add' := toMeasure_add
#align measure_theory.finite_measure.coe_add_monoid_hom MeasureTheory.FiniteMeasure.toMeasureAddMonoidHom
-instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
+instance {Ω : Type*} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω) :=
Function.Injective.module _ toMeasureAddMonoidHom toMeasure_injective toMeasure_smul
-- porting note: `@[simp]` breaks the LHS of `coeFn_smul`
@@ -311,7 +311,7 @@ def testAgainstNN (μ : FiniteMeasure Ω) (f : Ω →ᵇ ℝ≥0) : ℝ≥0 :=
(∫⁻ ω, f ω ∂(μ : Measure Ω)).toNNReal
#align measure_theory.finite_measure.test_against_nn MeasureTheory.FiniteMeasure.testAgainstNN
-theorem _root_.BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type _}
+theorem _root_.BoundedContinuousFunction.NNReal.coe_ennreal_comp_measurable {Ω : Type*}
[TopologicalSpace Ω] [MeasurableSpace Ω] [OpensMeasurableSpace Ω] (f : Ω →ᵇ ℝ≥0) :
Measurable fun ω => (f ω : ℝ≥0∞) :=
measurable_coe_nnreal_ennreal.comp f.continuous.measurable
@@ -482,25 +482,25 @@ theorem continuous_mass : Continuous fun μ : FiniteMeasure Ω => μ.mass := by
#align measure_theory.finite_measure.continuous_mass MeasureTheory.FiniteMeasure.continuous_mass
/-- Convergence of finite measures implies the convergence of their total masses. -/
-theorem _root_.Filter.Tendsto.mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem _root_.Filter.Tendsto.mass {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} (h : Tendsto μs F (𝓝 μ)) : Tendsto (fun i => (μs i).mass) F (𝓝 μ.mass) :=
(continuous_mass.tendsto μ).comp h
#align filter.tendsto.mass Filter.Tendsto.mass
-theorem tendsto_iff_weak_star_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem tendsto_iff_weak_star_tendsto {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔ Tendsto (fun i => (μs i).toWeakDualBCNN) F (𝓝 μ.toWeakDualBCNN) :=
Inducing.tendsto_nhds_iff ⟨rfl⟩
#align measure_theory.finite_measure.tendsto_iff_weak_star_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_weak_star_tendsto
-theorem tendsto_iff_forall_toWeakDualBCNN_tendsto {γ : Type _} {F : Filter γ}
+theorem tendsto_iff_forall_toWeakDualBCNN_tendsto {γ : Type*} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).toWeakDualBCNN f) F (𝓝 (μ.toWeakDualBCNN f)) :=
by rw [tendsto_iff_weak_star_tendsto, tendsto_iff_forall_eval_tendsto_topDualPairing]; rfl
#align measure_theory.finite_measure.tendsto_iff_forall_to_weak_dual_bcnn_tendsto MeasureTheory.FiniteMeasure.tendsto_iff_forall_toWeakDualBCNN_tendsto
-theorem tendsto_iff_forall_testAgainstNN_tendsto {γ : Type _} {F : Filter γ}
+theorem tendsto_iff_forall_testAgainstNN_tendsto {γ : Type*} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} {μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0, Tendsto (fun i => (μs i).testAgainstNN f) F (𝓝 (μ.testAgainstNN f)) :=
@@ -511,7 +511,7 @@ theorem tendsto_iff_forall_testAgainstNN_tendsto {γ : Type _} {F : Filter γ}
zero. This formulation concerns the associated functionals on bounded continuous
nonnegative test functions. See `MeasureTheory.FiniteMeasure.tendsto_zero_of_tendsto_zero_mass` for
a formulation stating the weak convergence of measures. -/
-theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type _} {F : Filter γ}
+theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type*} {F : Filter γ}
{μs : γ → FiniteMeasure Ω} (mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) (f : Ω →ᵇ ℝ≥0) :
Tendsto (fun i => (μs i).testAgainstNN f) F (𝓝 0) := by
apply tendsto_iff_dist_tendsto_zero.mpr
@@ -529,7 +529,7 @@ theorem tendsto_zero_testAgainstNN_of_tendsto_zero_mass {γ : Type _} {F : Filte
#align measure_theory.finite_measure.tendsto_zero_test_against_nn_of_tendsto_zero_mass MeasureTheory.FiniteMeasure.tendsto_zero_testAgainstNN_of_tendsto_zero_mass
/-- If the total masses of finite measures tend to zero, then the measures tend to zero. -/
-theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem tendsto_zero_of_tendsto_zero_mass {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
(mass_lim : Tendsto (fun i => (μs i).mass) F (𝓝 0)) : Tendsto μs F (𝓝 0) := by
rw [tendsto_iff_forall_testAgainstNN_tendsto]
intro f
@@ -539,7 +539,7 @@ theorem tendsto_zero_of_tendsto_zero_mass {γ : Type _} {F : Filter γ} {μs :
/-- A characterization of weak convergence in terms of integrals of bounded continuous
nonnegative functions. -/
-theorem tendsto_iff_forall_lintegral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem tendsto_iff_forall_lintegral_tendsto {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ≥0,
@@ -560,7 +560,7 @@ This section is about bounded convergence theorems for finite measures.
-/
-variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
+variable {Ω : Type*} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
/-- A bounded convergence theorem for a finite measure:
If bounded continuous non-negative functions are uniformly bounded by a constant and tend to a
@@ -572,7 +572,7 @@ This formulation assumes:
* integration is `MeasureTheory.lintegral`, i.e., the functions and their integrals are
`ℝ≥0∞`-valued.
-/
-theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type _} {L : Filter ι} [L.IsCountablyGenerated]
+theorem tendsto_lintegral_nn_filter_of_le_const {ι : Type*} {L : Filter ι} [L.IsCountablyGenerated]
(μ : Measure Ω) [IsFiniteMeasure μ] {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂μ, fs i ω ≤ c) {f : Ω → ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂μ, Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
@@ -614,7 +614,7 @@ This formulation assumes:
A related result using `MeasureTheory.lintegral` for integration is
`MeasureTheory.FiniteMeasure.tendsto_lintegral_nn_filter_of_le_const`.
-/
-theorem tendsto_testAgainstNN_filter_of_le_const {ι : Type _} {L : Filter ι}
+theorem tendsto_testAgainstNN_filter_of_le_const {ι : Type*} {L : Filter ι}
[L.IsCountablyGenerated] {μ : FiniteMeasure Ω} {fs : ι → Ω →ᵇ ℝ≥0} {c : ℝ≥0}
(fs_le_const : ∀ᶠ i in L, ∀ᵐ ω : Ω ∂(μ : Measure Ω), fs i ω ≤ c) {f : Ω →ᵇ ℝ≥0}
(fs_lim : ∀ᵐ ω : Ω ∂(μ : Measure Ω), Tendsto (fun i => fs i ω) L (𝓝 (f ω))) :
@@ -657,7 +657,7 @@ condition that the integrals of all bounded continuous real-valued functions con
-/
-variable {Ω : Type _} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
+variable {Ω : Type*} [MeasurableSpace Ω] [TopologicalSpace Ω] [OpensMeasurableSpace Ω]
theorem integrable_of_boundedContinuous_to_nnreal (μ : Measure Ω) [IsFiniteMeasure μ]
(f : Ω →ᵇ ℝ≥0) : Integrable (((↑) : ℝ≥0 → ℝ) ∘ ⇑f) μ := by
@@ -687,13 +687,13 @@ theorem _root_.BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ
rfl
#align bounded_continuous_function.integral_eq_integral_nnreal_part_sub BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
-theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type _} [MeasurableSpace Ω]
+theorem lintegral_lt_top_of_boundedContinuous_to_real {Ω : Type*} [MeasurableSpace Ω]
[TopologicalSpace Ω] (μ : Measure Ω) [IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
(∫⁻ ω, ENNReal.ofReal (f ω) ∂μ) < ∞ :=
lintegral_lt_top_of_boundedContinuous_to_nnreal _ f.nnrealPart
#align measure_theory.finite_measure.lintegral_lt_top_of_bounded_continuous_to_real MeasureTheory.FiniteMeasure.lintegral_lt_top_of_boundedContinuous_to_real
-theorem tendsto_of_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem tendsto_of_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω}
(h :
∀ f : Ω →ᵇ ℝ,
@@ -733,7 +733,7 @@ theorem _root_.BoundedContinuousFunction.NNReal.toReal_lintegral_eq_integral (f
/-- A characterization of weak convergence in terms of integrals of bounded continuous
real-valued functions. -/
-theorem tendsto_iff_forall_integral_tendsto {γ : Type _} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
+theorem tendsto_iff_forall_integral_tendsto {γ : Type*} {F : Filter γ} {μs : γ → FiniteMeasure Ω}
{μ : FiniteMeasure Ω} :
Tendsto μs F (𝓝 μ) ↔
∀ f : Ω →ᵇ ℝ,
@@ -2,16 +2,13 @@
Copyright (c) 2021 Kalle Kytölä. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kalle Kytölä
-
-! This file was ported from Lean 3 source module measure_theory.measure.finite_measure
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Topology.ContinuousFunction.Bounded
import Mathlib.Topology.Algebra.Module.WeakDual
import Mathlib.MeasureTheory.Integral.Bochner
+#align_import measure_theory.measure.finite_measure from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
/-!
# Finite measures
@@ -246,7 +246,7 @@ theorem coeFn_add (μ ν : FiniteMeasure Ω) : (⇑(μ + ν) : Set Ω → ℝ≥
theorem coeFn_smul [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) :
(⇑(c • μ) : Set Ω → ℝ≥0) = c • (⇑μ : Set Ω → ℝ≥0) := by
funext
- simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
+ simp [← ENNReal.coe_eq_coe, ENNReal.coe_smul]
norm_cast
#align measure_theory.finite_measure.coe_fn_smul MeasureTheory.FiniteMeasure.coeFn_smul
@@ -684,7 +684,7 @@ theorem integrable_of_boundedContinuous_to_real (μ : Measure Ω) [IsFiniteMeasu
theorem _root_.BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub (μ : Measure Ω)
[IsFiniteMeasure μ] (f : Ω →ᵇ ℝ) :
- (∫ ω, f ω ∂μ) = (∫ ω, (f.nnrealPart ω : ℝ) ∂μ) - ∫ ω, ((-f).nnrealPart ω : ℝ) ∂μ := by
+ ∫ ω, f ω ∂μ = (∫ ω, (f.nnrealPart ω : ℝ) ∂μ) - ∫ ω, ((-f).nnrealPart ω : ℝ) ∂μ := by
simp only [f.self_eq_nnrealPart_sub_nnrealPart_neg, Pi.sub_apply, integral_sub,
integrable_of_boundedContinuous_to_nnreal]
rfl
@@ -268,7 +268,7 @@ instance {Ω : Type _} [MeasurableSpace Ω] : Module ℝ≥0 (FiniteMeasure Ω)
theorem coeFn_smul_apply [IsScalarTower R ℝ≥0 ℝ≥0] (c : R) (μ : FiniteMeasure Ω) (s : Set Ω) :
(c • μ) s = c • μ s := by
rw [coeFn_smul, Pi.smul_apply]
- -- porting note: why doens't `simp only` work in place of `rw` here?
+ -- porting note: why doesn't `simp only` work in place of `rw` here?
#align measure_theory.finite_measure.coe_fn_smul_apply MeasureTheory.FiniteMeasure.coeFn_smul_apply
/-- Restrict a finite measure μ to a set A. -/
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
init.data.list.default
algebra.order.monoid.cancel.basic
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file