measure_theory.measure.vector_measure
⟷
Mathlib.MeasureTheory.Measure.VectorMeasure
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -226,7 +226,7 @@ theorem of_diff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [T2Space M]
{v : VectorMeasure α M} {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B)
(h : A ⊆ B) : v (B \ A) = v B - v A :=
by
- rw [← of_add_of_diff hA hB h, add_sub_cancel']
+ rw [← of_add_of_diff hA hB h, add_sub_cancel_left]
infer_instance
#align measure_theory.vector_measure.of_diff MeasureTheory.VectorMeasure.of_diff
-/
@@ -1401,8 +1401,8 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
end AbsolutelyContinuous
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular /-
/-- Two vector measures `v` and `w` are said to be mutually singular if there exists a measurable
set `s`, such that for all `t ⊆ s`, `v t = 0` and for all `t ⊆ sᶜ`, `w t = 0`.
@@ -1422,8 +1422,8 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular.mk /-
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -172,7 +172,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
MeasurableSet.iUnion fun b => MeasurableSet.iUnion fun _ => hf₁ b
have hg₂ : Pairwise (Disjoint on g) := Encodable.iUnion_decode₂_disjoint_on hf₂
have := v.of_disjoint_Union_nat hg₁ hg₂
- rw [hg, Encodable.iUnion_decode₂] at this
+ rw [hg, Encodable.iUnion_decode₂] at this
have hg₃ : (fun i : β => v (f i)) = fun i => v (g (Encodable.encode i)) :=
by
ext; rw [hg]; simp only
@@ -181,7 +181,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
· intro hy
refine' ⟨x, (Encodable.decode₂_is_partial_inv _ _).2 rfl, hy⟩
· rintro ⟨b, hb₁, hb₂⟩
- rw [Encodable.decode₂_is_partial_inv _ _] at hb₁
+ rw [Encodable.decode₂_is_partial_inv _ _] at hb₁
rwa [← Encodable.encode_injective hb₁]
rw [Summable.hasSum_iff, this, ← tsum_iUnion_decode₂]
· exact v.empty
@@ -275,7 +275,7 @@ theorem of_nonneg_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : 0 ≤ s A) (hB₂ : 0 ≤ s B)
(hAB : s (A ∪ B) = 0) : s A = 0 :=
by
- rw [of_union h hA₁ hB₁] at hAB
+ rw [of_union h hA₁ hB₁] at hAB
linarith
infer_instance
#align measure_theory.vector_measure.of_nonneg_disjoint_union_eq_zero MeasureTheory.VectorMeasure.of_nonneg_disjoint_union_eq_zero
@@ -286,7 +286,7 @@ theorem of_nonpos_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : s A ≤ 0) (hB₂ : s B ≤ 0)
(hAB : s (A ∪ B) = 0) : s A = 0 :=
by
- rw [of_union h hA₁ hB₁] at hAB
+ rw [of_union h hA₁ hB₁] at hAB
linarith
infer_instance
#align measure_theory.vector_measure.of_nonpos_disjoint_union_eq_zero MeasureTheory.VectorMeasure.of_nonpos_disjoint_union_eq_zero
@@ -537,7 +537,7 @@ theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [IsFiniteMea
· ext1 i hi
have : μ.to_signed_measure i = ν.to_signed_measure i := by rw [h]
rwa [to_signed_measure_apply_measurable hi, to_signed_measure_apply_measurable hi,
- ENNReal.toReal_eq_toReal] at this <;>
+ ENNReal.toReal_eq_toReal] at this <;>
· exact measure_ne_top _ _
· congr; assumption
#align measure_theory.measure.to_signed_measure_eq_to_signed_measure_iff MeasureTheory.Measure.toSignedMeasure_eq_toSignedMeasure_iff
@@ -1082,7 +1082,7 @@ theorem le_restrict_univ_iff_le : v ≤[univ] w ↔ v ≤ w :=
· intro h s hs
have := h s hs
rwa [restrict_apply _ MeasurableSet.univ hs, inter_univ, restrict_apply _ MeasurableSet.univ hs,
- inter_univ] at this
+ inter_univ] at this
· intro h s hs
rw [restrict_apply _ MeasurableSet.univ hs, inter_univ, restrict_apply _ MeasurableSet.univ hs,
inter_univ]
@@ -1254,8 +1254,8 @@ theorem exists_pos_measure_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) :
∃ j : Set α, MeasurableSet j ∧ j ⊆ i ∧ 0 < v j :=
by
have hi₁ : MeasurableSet i := measurable_of_not_restrict_le_zero _ hi
- rw [restrict_le_restrict_iff _ _ hi₁] at hi
- push_neg at hi
+ rw [restrict_le_restrict_iff _ _ hi₁] at hi
+ push_neg at hi
obtain ⟨j, hj₁, hj₂, hj⟩ := hi
exact ⟨j, hj₁, hj₂, hj⟩
#align measure_theory.vector_measure.exists_pos_measure_of_not_restrict_le_zero MeasureTheory.VectorMeasure.exists_pos_measure_of_not_restrict_le_zero
@@ -1347,7 +1347,7 @@ theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [Topologica
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : v ≪ᵥ -w :=
by
intro s hs
- rw [neg_apply, neg_eq_zero] at hs
+ rw [neg_apply, neg_eq_zero] at hs
exact h hs
#align measure_theory.vector_measure.absolutely_continuous.neg_right MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_right
-/
@@ -1393,7 +1393,7 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
rw [← hs, ennreal_to_measure_apply hmeas]
· intro s hs
by_cases hmeas : MeasurableSet s
- · rw [ennreal_to_measure_apply hmeas] at hs
+ · rw [ennreal_to_measure_apply hmeas] at hs
exact h hs
· exact not_measurable v hmeas
#align measure_theory.vector_measure.absolutely_continuous.ennreal_to_measure MeasureTheory.VectorMeasure.AbsolutelyContinuous.ennrealToMeasure
@@ -1463,7 +1463,7 @@ theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v
obtain ⟨v, hmv, hv₁, hv₂⟩ := h₂
refine' mk (u ∩ v) (hmu.inter hmv) (fun t ht hmt => _) fun t ht hmt => _
· rw [add_apply, hu₁ _ (subset_inter_iff.1 ht).1, hv₁ _ (subset_inter_iff.1 ht).2, zero_add]
- · rw [compl_inter] at ht
+ · rw [compl_inter] at ht
rw [(_ : t = uᶜ ∩ t ∪ vᶜ \ uᶜ ∩ t),
of_union _ (hmu.compl.inter hmt) ((hmv.compl.diff hmu.compl).inter hmt), hu₂, hv₂, add_zero]
· exact subset.trans (inter_subset_left _ _) (diff_subset _ _)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -501,7 +501,7 @@ def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure
rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.iUnion hf₁),
Summable.hasSum_iff]
· congr; ext n; rw [if_pos (hf₁ n)]
- · refine' @summable_of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
+ · refine' @Summable.of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
· intro; split_ifs
exacts [ENNReal.toReal_nonneg, le_rfl]
· intro; split_ifs
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Kexing Ying. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kexing Ying
-/
-import Mathbin.MeasureTheory.Measure.MeasureSpace
-import Mathbin.Analysis.Complex.Basic
+import MeasureTheory.Measure.MeasureSpace
+import Analysis.Complex.Basic
#align_import measure_theory.measure.vector_measure from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
@@ -1401,8 +1401,8 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
end AbsolutelyContinuous
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular /-
/-- Two vector measures `v` and `w` are said to be mutually singular if there exists a measurable
set `s`, such that for all `t ⊆ s`, `v t = 0` and for all `t ⊆ sᶜ`, `w t = 0`.
@@ -1422,8 +1422,8 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular.mk /-
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Kexing Ying. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kexing Ying
-
-! This file was ported from Lean 3 source module measure_theory.measure.vector_measure
-! leanprover-community/mathlib commit f60c6087a7275b72d5db3c5a1d0e19e35a429c0a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.MeasureTheory.Measure.MeasureSpace
import Mathbin.Analysis.Complex.Basic
+#align_import measure_theory.measure.vector_measure from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
+
/-!
# Vector valued measures
@@ -1404,8 +1401,8 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
end AbsolutelyContinuous
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular /-
/-- Two vector measures `v` and `w` are said to be mutually singular if there exists a measurable
set `s`, such that for all `t ⊆ s`, `v t = 0` and for all `t ⊆ sᶜ`, `w t = 0`.
@@ -1425,8 +1422,8 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular.mk /-
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -548,7 +548,7 @@ theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [IsFiniteMea
#print MeasureTheory.Measure.toSignedMeasure_zero /-
@[simp]
-theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by ext (i hi); simp
+theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by ext i hi; simp
#align measure_theory.measure.to_signed_measure_zero MeasureTheory.Measure.toSignedMeasure_zero
-/
@@ -557,7 +557,7 @@ theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by ext (i
theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteMeasure ν] :
(μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure :=
by
- ext (i hi)
+ ext i hi
rw [to_signed_measure_apply_measurable hi, add_apply,
ENNReal.toReal_add (ne_of_lt (measure_lt_top _ _)) (ne_of_lt (measure_lt_top _ _)),
vector_measure.add_apply, to_signed_measure_apply_measurable hi,
@@ -571,7 +571,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteM
theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0) :
(r • μ).toSignedMeasure = r • μ.toSignedMeasure :=
by
- ext (i hi)
+ ext i hi
rw [to_signed_measure_apply_measurable hi, vector_measure.smul_apply,
to_signed_measure_apply_measurable hi, coe_smul, Pi.smul_apply, ENNReal.toReal_smul]
#align measure_theory.measure.to_signed_measure_smul MeasureTheory.Measure.toSignedMeasure_smul
@@ -601,7 +601,7 @@ theorem toENNRealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (
#print MeasureTheory.Measure.toENNRealVectorMeasure_zero /-
@[simp]
-theorem toENNRealVectorMeasure_zero : (0 : Measure α).toENNRealVectorMeasure = 0 := by ext (i hi);
+theorem toENNRealVectorMeasure_zero : (0 : Measure α).toENNRealVectorMeasure = 0 := by ext i hi;
simp
#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toENNRealVectorMeasure_zero
-/
@@ -716,7 +716,7 @@ theorem map_id : v.map id = v :=
theorem map_zero (f : α → β) : (0 : VectorMeasure α M).map f = 0 :=
by
by_cases hf : Measurable f
- · ext (i hi)
+ · ext i hi
rw [map_apply _ hf hi, zero_apply, zero_apply]
· exact dif_neg hf
#align measure_theory.vector_measure.map_zero MeasureTheory.VectorMeasure.map_zero
@@ -860,7 +860,7 @@ theorem restrict_univ : v.restrict univ = v :=
theorem restrict_zero {i : Set α} : (0 : VectorMeasure α M).restrict i = 0 :=
by
by_cases hi : MeasurableSet i
- · ext (j hj); rw [restrict_apply 0 hi hj]; rfl
+ · ext j hj; rw [restrict_apply 0 hi hj]; rfl
· exact dif_neg hi
#align measure_theory.vector_measure.restrict_zero MeasureTheory.VectorMeasure.restrict_zero
-/
@@ -873,7 +873,7 @@ variable [ContinuousAdd M]
theorem map_add (v w : VectorMeasure α M) (f : α → β) : (v + w).map f = v.map f + w.map f :=
by
by_cases hf : Measurable f
- · ext (i hi)
+ · ext i hi
simp [map_apply _ hf hi]
· simp [map, dif_neg hf]
#align measure_theory.vector_measure.map_add MeasureTheory.VectorMeasure.map_add
@@ -895,7 +895,7 @@ theorem restrict_add (v w : VectorMeasure α M) (i : Set α) :
(v + w).restrict i = v.restrict i + w.restrict i :=
by
by_cases hi : MeasurableSet i
- · ext (j hj)
+ · ext j hj
simp [restrict_apply _ hi hj]
· simp [restrict_not_measurable _ hi]
#align measure_theory.vector_measure.restrict_add MeasureTheory.VectorMeasure.restrict_add
@@ -929,11 +929,11 @@ variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R
theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).map f = c • v.map f :=
by
by_cases hf : Measurable f
- · ext (i hi)
+ · ext i hi
simp [map_apply _ hf hi]
· simp only [map, dif_neg hf]
-- `smul_zero` does not work since we do not require `has_continuous_add`
- ext (i hi);
+ ext i hi;
simp
#align measure_theory.vector_measure.map_smul MeasureTheory.VectorMeasure.map_smul
-/
@@ -944,11 +944,11 @@ theorem restrict_smul {v : VectorMeasure α M} {i : Set α} (c : R) :
(c • v).restrict i = c • v.restrict i :=
by
by_cases hi : MeasurableSet i
- · ext (j hj)
+ · ext j hj
simp [restrict_apply _ hi hj]
· simp only [restrict_not_measurable _ hi]
-- `smul_zero` does not work since we do not require `has_continuous_add`
- ext (j hj);
+ ext j hj;
simp
#align measure_theory.vector_measure.restrict_smul MeasureTheory.VectorMeasure.restrict_smul
-/
@@ -1587,7 +1587,7 @@ theorem trim_measurableSet_eq (hle : m ≤ n) {i : Set α} (hi : measurable_set[
theorem restrict_trim (hle : m ≤ n) {i : Set α} (hi : measurable_set[m] i) :
@VectorMeasure.restrict α m M _ _ (v.trim hle) i = (v.restrict i).trim hle :=
by
- ext (j hj)
+ ext j hj
rw [restrict_apply, trim_measurable_set_eq hle hj, restrict_apply, trim_measurable_set_eq]
all_goals measurability
#align measure_theory.vector_measure.restrict_trim MeasureTheory.VectorMeasure.restrict_trim
@@ -1708,7 +1708,7 @@ instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
theorem toMeasureOfZeroLE_toSignedMeasure (hs : 0 ≤[univ] s) :
(s.toMeasureOfZeroLE univ MeasurableSet.univ hs).toSignedMeasure = s :=
by
- ext (i hi)
+ ext i hi
simp [measure.to_signed_measure_apply_measurable hi, to_measure_of_zero_le_apply _ _ _ hi]
#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLE_toSignedMeasure
-/
@@ -1717,7 +1717,7 @@ theorem toMeasureOfZeroLE_toSignedMeasure (hs : 0 ≤[univ] s) :
theorem toMeasureOfLEZero_toSignedMeasure (hs : s ≤[univ] 0) :
(s.toMeasureOfLEZero univ MeasurableSet.univ hs).toSignedMeasure = -s :=
by
- ext (i hi)
+ ext i hi
simp [measure.to_signed_measure_apply_measurable hi, to_measure_of_le_zero_apply _ _ _ hi]
#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLEZero_toSignedMeasure
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -93,8 +93,6 @@ section
variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
-include m
-
instance : CoeFun (VectorMeasure α M) fun _ => Set α → M :=
⟨VectorMeasure.measureOf'⟩
@@ -105,25 +103,33 @@ theorem measure_of_eq_coe (v : VectorMeasure α M) : v.measureOf' = v :=
rfl
#align measure_theory.vector_measure.measure_of_eq_coe MeasureTheory.VectorMeasure.measure_of_eq_coe
+#print MeasureTheory.VectorMeasure.empty /-
@[simp]
theorem empty (v : VectorMeasure α M) : v ∅ = 0 :=
v.empty'
#align measure_theory.vector_measure.empty MeasureTheory.VectorMeasure.empty
+-/
+#print MeasureTheory.VectorMeasure.not_measurable /-
theorem not_measurable (v : VectorMeasure α M) {i : Set α} (hi : ¬MeasurableSet i) : v i = 0 :=
v.not_measurable' hi
#align measure_theory.vector_measure.not_measurable MeasureTheory.VectorMeasure.not_measurable
+-/
+#print MeasureTheory.VectorMeasure.m_iUnion /-
theorem m_iUnion (v : VectorMeasure α M) {f : ℕ → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : HasSum (fun i => v (f i)) (v (⋃ i, f i)) :=
v.m_iUnion' hf₁ hf₂
#align measure_theory.vector_measure.m_Union MeasureTheory.VectorMeasure.m_iUnion
+-/
+#print MeasureTheory.VectorMeasure.of_disjoint_iUnion_nat /-
theorem of_disjoint_iUnion_nat [T2Space M] (v : VectorMeasure α M) {f : ℕ → Set α}
(hf₁ : ∀ i, MeasurableSet (f i)) (hf₂ : Pairwise (Disjoint on f)) :
v (⋃ i, f i) = ∑' i, v (f i) :=
(v.m_iUnion hf₁ hf₂).tsum_eq.symm
#align measure_theory.vector_measure.of_disjoint_Union_nat MeasureTheory.VectorMeasure.of_disjoint_iUnion_nat
+-/
#print MeasureTheory.VectorMeasure.coe_injective /-
theorem coe_injective : @Function.Injective (VectorMeasure α M) (Set α → M) coeFn := fun v w h => by
@@ -131,10 +137,13 @@ theorem coe_injective : @Function.Injective (VectorMeasure α M) (Set α → M)
#align measure_theory.vector_measure.coe_injective MeasureTheory.VectorMeasure.coe_injective
-/
+#print MeasureTheory.VectorMeasure.ext_iff' /-
theorem ext_iff' (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, v i = w i := by
rw [← coe_injective.eq_iff, Function.funext_iff]
#align measure_theory.vector_measure.ext_iff' MeasureTheory.VectorMeasure.ext_iff'
+-/
+#print MeasureTheory.VectorMeasure.ext_iff /-
theorem ext_iff (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, MeasurableSet i → v i = w i :=
by
constructor
@@ -145,14 +154,18 @@ theorem ext_iff (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, Measurabl
· exact h i hi
· simp_rw [not_measurable _ hi]
#align measure_theory.vector_measure.ext_iff MeasureTheory.VectorMeasure.ext_iff
+-/
+#print MeasureTheory.VectorMeasure.ext /-
@[ext]
theorem ext {s t : VectorMeasure α M} (h : ∀ i : Set α, MeasurableSet i → s i = t i) : s = t :=
(ext_iff s t).2 h
#align measure_theory.vector_measure.ext MeasureTheory.VectorMeasure.ext
+-/
variable [T2Space M] {v : VectorMeasure α M} {f : ℕ → Set α}
+#print MeasureTheory.VectorMeasure.hasSum_of_disjoint_iUnion /-
theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : HasSum (fun i => v (f i)) (v (⋃ i, f i)) :=
by
@@ -184,26 +197,34 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
intro i hi
exact False.elim ((hx i) ((Encodable.decode₂_is_partial_inv _ _).1 hi))
#align measure_theory.vector_measure.has_sum_of_disjoint_Union MeasureTheory.VectorMeasure.hasSum_of_disjoint_iUnion
+-/
+#print MeasureTheory.VectorMeasure.of_disjoint_iUnion /-
theorem of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : v (⋃ i, f i) = ∑' i, v (f i) :=
(hasSum_of_disjoint_iUnion hf₁ hf₂).tsum_eq.symm
#align measure_theory.vector_measure.of_disjoint_Union MeasureTheory.VectorMeasure.of_disjoint_iUnion
+-/
+#print MeasureTheory.VectorMeasure.of_union /-
theorem of_union {A B : Set α} (h : Disjoint A B) (hA : MeasurableSet A) (hB : MeasurableSet B) :
v (A ∪ B) = v A + v B :=
by
rw [union_eq_Union, of_disjoint_Union, tsum_fintype, Fintype.sum_bool, cond, cond]
exacts [fun b => Bool.casesOn b hB hA, pairwise_disjoint_on_bool.2 h]
#align measure_theory.vector_measure.of_union MeasureTheory.VectorMeasure.of_union
+-/
+#print MeasureTheory.VectorMeasure.of_add_of_diff /-
theorem of_add_of_diff {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B) (h : A ⊆ B) :
v A + v (B \ A) = v B :=
by
rw [← of_union disjoint_sdiff_right hA (hB.diff hA), union_diff_cancel h]
infer_instance
#align measure_theory.vector_measure.of_add_of_diff MeasureTheory.VectorMeasure.of_add_of_diff
+-/
+#print MeasureTheory.VectorMeasure.of_diff /-
theorem of_diff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [T2Space M]
{v : VectorMeasure α M} {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B)
(h : A ⊆ B) : v (B \ A) = v B - v A :=
@@ -211,7 +232,9 @@ theorem of_diff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [T2Space M]
rw [← of_add_of_diff hA hB h, add_sub_cancel']
infer_instance
#align measure_theory.vector_measure.of_diff MeasureTheory.VectorMeasure.of_diff
+-/
+#print MeasureTheory.VectorMeasure.of_diff_of_diff_eq_zero /-
theorem of_diff_of_diff_eq_zero {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B)
(h' : v (B \ A) = 0) : v (A \ B) + v B = v A :=
by
@@ -232,19 +255,25 @@ theorem of_diff_of_diff_eq_zero {A B : Set α} (hA : MeasurableSet A) (hB : Meas
· exact hB.diff hA
_ = v (A \ B) + v B := by rw [Set.union_comm, Set.inter_comm, Set.diff_union_inter]
#align measure_theory.vector_measure.of_diff_of_diff_eq_zero MeasureTheory.VectorMeasure.of_diff_of_diff_eq_zero
+-/
+#print MeasureTheory.VectorMeasure.of_iUnion_nonneg /-
theorem of_iUnion_nonneg {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
[OrderClosedTopology M] {v : VectorMeasure α M} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) (hf₃ : ∀ i, 0 ≤ v (f i)) : 0 ≤ v (⋃ i, f i) :=
(v.of_disjoint_iUnion_nat hf₁ hf₂).symm ▸ tsum_nonneg hf₃
#align measure_theory.vector_measure.of_Union_nonneg MeasureTheory.VectorMeasure.of_iUnion_nonneg
+-/
+#print MeasureTheory.VectorMeasure.of_iUnion_nonpos /-
theorem of_iUnion_nonpos {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
[OrderClosedTopology M] {v : VectorMeasure α M} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) (hf₃ : ∀ i, v (f i) ≤ 0) : v (⋃ i, f i) ≤ 0 :=
(v.of_disjoint_iUnion_nat hf₁ hf₂).symm ▸ tsum_nonpos hf₃
#align measure_theory.vector_measure.of_Union_nonpos MeasureTheory.VectorMeasure.of_iUnion_nonpos
+-/
+#print MeasureTheory.VectorMeasure.of_nonneg_disjoint_union_eq_zero /-
theorem of_nonneg_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (h : Disjoint A B)
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : 0 ≤ s A) (hB₂ : 0 ≤ s B)
(hAB : s (A ∪ B) = 0) : s A = 0 :=
@@ -253,7 +282,9 @@ theorem of_nonneg_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (
linarith
infer_instance
#align measure_theory.vector_measure.of_nonneg_disjoint_union_eq_zero MeasureTheory.VectorMeasure.of_nonneg_disjoint_union_eq_zero
+-/
+#print MeasureTheory.VectorMeasure.of_nonpos_disjoint_union_eq_zero /-
theorem of_nonpos_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (h : Disjoint A B)
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : s A ≤ 0) (hB₂ : s B ≤ 0)
(hAB : s (A ∪ B) = 0) : s A = 0 :=
@@ -262,6 +293,7 @@ theorem of_nonpos_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (
linarith
infer_instance
#align measure_theory.vector_measure.of_nonpos_disjoint_union_eq_zero MeasureTheory.VectorMeasure.of_nonpos_disjoint_union_eq_zero
+-/
end
@@ -271,8 +303,7 @@ variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
-include m
-
+#print MeasureTheory.VectorMeasure.smul /-
/-- Given a real number `r` and a signed measure `s`, `smul r s` is the signed
measure corresponding to the function `r • s`. -/
def smul (r : R) (v : VectorMeasure α M) : VectorMeasure α M
@@ -282,18 +313,23 @@ def smul (r : R) (v : VectorMeasure α M) : VectorMeasure α M
not_measurable' _ hi := by rw [Pi.smul_apply, v.not_measurable hi, smul_zero]
m_iUnion' _ hf₁ hf₂ := HasSum.const_smul _ (v.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.smul MeasureTheory.VectorMeasure.smul
+-/
instance : SMul R (VectorMeasure α M) :=
⟨smul⟩
+#print MeasureTheory.VectorMeasure.coe_smul /-
@[simp]
theorem coe_smul (r : R) (v : VectorMeasure α M) : ⇑(r • v) = r • v :=
rfl
#align measure_theory.vector_measure.coe_smul MeasureTheory.VectorMeasure.coe_smul
+-/
+#print MeasureTheory.VectorMeasure.smul_apply /-
theorem smul_apply (r : R) (v : VectorMeasure α M) (i : Set α) : (r • v) i = r • v i :=
rfl
#align measure_theory.vector_measure.smul_apply MeasureTheory.VectorMeasure.smul_apply
+-/
end SMul
@@ -301,25 +337,28 @@ section AddCommMonoid
variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
-include m
-
instance : Zero (VectorMeasure α M) :=
⟨⟨0, rfl, fun _ _ => rfl, fun _ _ _ => hasSum_zero⟩⟩
instance : Inhabited (VectorMeasure α M) :=
⟨0⟩
+#print MeasureTheory.VectorMeasure.coe_zero /-
@[simp]
theorem coe_zero : ⇑(0 : VectorMeasure α M) = 0 :=
rfl
#align measure_theory.vector_measure.coe_zero MeasureTheory.VectorMeasure.coe_zero
+-/
+#print MeasureTheory.VectorMeasure.zero_apply /-
theorem zero_apply (i : Set α) : (0 : VectorMeasure α M) i = 0 :=
rfl
#align measure_theory.vector_measure.zero_apply MeasureTheory.VectorMeasure.zero_apply
+-/
variable [ContinuousAdd M]
+#print MeasureTheory.VectorMeasure.add /-
/-- The sum of two vector measure is a vector measure. -/
def add (v w : VectorMeasure α M) : VectorMeasure α M
where
@@ -328,22 +367,28 @@ def add (v w : VectorMeasure α M) : VectorMeasure α M
not_measurable' _ hi := by simp [v.not_measurable hi, w.not_measurable hi]
m_iUnion' f hf₁ hf₂ := HasSum.add (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.add MeasureTheory.VectorMeasure.add
+-/
instance : Add (VectorMeasure α M) :=
⟨add⟩
+#print MeasureTheory.VectorMeasure.coe_add /-
@[simp]
theorem coe_add (v w : VectorMeasure α M) : ⇑(v + w) = v + w :=
rfl
#align measure_theory.vector_measure.coe_add MeasureTheory.VectorMeasure.coe_add
+-/
+#print MeasureTheory.VectorMeasure.add_apply /-
theorem add_apply (v w : VectorMeasure α M) (i : Set α) : (v + w) i = v i + w i :=
rfl
#align measure_theory.vector_measure.add_apply MeasureTheory.VectorMeasure.add_apply
+-/
instance : AddCommMonoid (VectorMeasure α M) :=
Function.Injective.addCommMonoid _ coe_injective coe_zero coe_add fun _ _ => coe_smul _ _
+#print MeasureTheory.VectorMeasure.coeFnAddMonoidHom /-
/-- `coe_fn` is an `add_monoid_hom`. -/
@[simps]
def coeFnAddMonoidHom : VectorMeasure α M →+ Set α → M
@@ -352,6 +397,7 @@ def coeFnAddMonoidHom : VectorMeasure α M →+ Set α → M
map_zero' := coe_zero
map_add' := coe_add
#align measure_theory.vector_measure.coe_fn_add_monoid_hom MeasureTheory.VectorMeasure.coeFnAddMonoidHom
+-/
end AddCommMonoid
@@ -359,8 +405,6 @@ section AddCommGroup
variable {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
-include m
-
#print MeasureTheory.VectorMeasure.neg /-
/-- The negative of a vector measure is a vector measure. -/
def neg (v : VectorMeasure α M) : VectorMeasure α M
@@ -375,14 +419,18 @@ def neg (v : VectorMeasure α M) : VectorMeasure α M
instance : Neg (VectorMeasure α M) :=
⟨neg⟩
+#print MeasureTheory.VectorMeasure.coe_neg /-
@[simp]
theorem coe_neg (v : VectorMeasure α M) : ⇑(-v) = -v :=
rfl
#align measure_theory.vector_measure.coe_neg MeasureTheory.VectorMeasure.coe_neg
+-/
+#print MeasureTheory.VectorMeasure.neg_apply /-
theorem neg_apply (v : VectorMeasure α M) (i : Set α) : (-v) i = -v i :=
rfl
#align measure_theory.vector_measure.neg_apply MeasureTheory.VectorMeasure.neg_apply
+-/
#print MeasureTheory.VectorMeasure.sub /-
/-- The difference of two vector measure is a vector measure. -/
@@ -398,14 +446,18 @@ def sub (v w : VectorMeasure α M) : VectorMeasure α M
instance : Sub (VectorMeasure α M) :=
⟨sub⟩
+#print MeasureTheory.VectorMeasure.coe_sub /-
@[simp]
theorem coe_sub (v w : VectorMeasure α M) : ⇑(v - w) = v - w :=
rfl
#align measure_theory.vector_measure.coe_sub MeasureTheory.VectorMeasure.coe_sub
+-/
+#print MeasureTheory.VectorMeasure.sub_apply /-
theorem sub_apply (v w : VectorMeasure α M) (i : Set α) : (v - w) i = v i - w i :=
rfl
#align measure_theory.vector_measure.sub_apply MeasureTheory.VectorMeasure.sub_apply
+-/
instance : AddCommGroup (VectorMeasure α M) :=
Function.Injective.addCommGroup _ coe_injective coe_zero coe_add coe_neg coe_sub
@@ -419,8 +471,6 @@ variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
-include m
-
instance [ContinuousAdd M] : DistribMulAction R (VectorMeasure α M) :=
Function.Injective.distribMulAction coeFnAddMonoidHom coe_injective coe_smul
@@ -432,8 +482,6 @@ variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
variable {R : Type _} [Semiring R] [Module R M] [ContinuousConstSMul R M]
-include m
-
instance [ContinuousAdd M] : Module R (VectorMeasure α M) :=
Function.Injective.module R coeFnAddMonoidHom coe_injective coe_smul
@@ -443,8 +491,6 @@ end VectorMeasure
namespace Measure
-include m
-
#print MeasureTheory.Measure.toSignedMeasure /-
/-- A finite measure coerced into a real function is a signed measure. -/
@[simps]
@@ -520,6 +566,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteM
#align measure_theory.measure.to_signed_measure_add MeasureTheory.Measure.toSignedMeasure_add
-/
+#print MeasureTheory.Measure.toSignedMeasure_smul /-
@[simp]
theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0) :
(r • μ).toSignedMeasure = r • μ.toSignedMeasure :=
@@ -528,7 +575,9 @@ theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0
rw [to_signed_measure_apply_measurable hi, vector_measure.smul_apply,
to_signed_measure_apply_measurable hi, coe_smul, Pi.smul_apply, ENNReal.toReal_smul]
#align measure_theory.measure.to_signed_measure_smul MeasureTheory.Measure.toSignedMeasure_smul
+-/
+#print MeasureTheory.Measure.toENNRealVectorMeasure /-
/-- A measure is a vector measure over `ℝ≥0∞`. -/
@[simps]
def toENNRealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
@@ -541,6 +590,7 @@ def toENNRealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
· rw [if_pos (MeasurableSet.iUnion hf₁), MeasureTheory.measure_iUnion hf₂ hf₁]
exact tsum_congr fun n => if_pos (hf₁ n)
#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toENNRealVectorMeasure
+-/
#print MeasureTheory.Measure.toENNRealVectorMeasure_apply_measurable /-
theorem toENNRealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (hi : MeasurableSet i) :
@@ -549,11 +599,14 @@ theorem toENNRealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (
#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toENNRealVectorMeasure_apply_measurable
-/
+#print MeasureTheory.Measure.toENNRealVectorMeasure_zero /-
@[simp]
theorem toENNRealVectorMeasure_zero : (0 : Measure α).toENNRealVectorMeasure = 0 := by ext (i hi);
simp
#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toENNRealVectorMeasure_zero
+-/
+#print MeasureTheory.Measure.toENNRealVectorMeasure_add /-
@[simp]
theorem toENNRealVectorMeasure_add (μ ν : Measure α) :
(μ + ν).toENNRealVectorMeasure = μ.toENNRealVectorMeasure + ν.toENNRealVectorMeasure :=
@@ -562,13 +615,16 @@ theorem toENNRealVectorMeasure_add (μ ν : Measure α) :
rw [to_ennreal_vector_measure_apply_measurable hi, add_apply, vector_measure.add_apply,
to_ennreal_vector_measure_apply_measurable hi, to_ennreal_vector_measure_apply_measurable hi]
#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toENNRealVectorMeasure_add
+-/
+#print MeasureTheory.Measure.toSignedMeasure_sub_apply /-
theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
{i : Set α} (hi : MeasurableSet i) :
(μ.toSignedMeasure - ν.toSignedMeasure) i = (μ i).toReal - (ν i).toReal := by
rw [vector_measure.sub_apply, to_signed_measure_apply_measurable hi,
measure.to_signed_measure_apply_measurable hi, sub_eq_add_neg]
#align measure_theory.measure.to_signed_measure_sub_apply MeasureTheory.Measure.toSignedMeasure_sub_apply
+-/
end Measure
@@ -578,16 +634,21 @@ open Measure
section
+#print MeasureTheory.VectorMeasure.ennrealToMeasure /-
/-- A vector measure over `ℝ≥0∞` is a measure. -/
def ennrealToMeasure {m : MeasurableSpace α} (v : VectorMeasure α ℝ≥0∞) : Measure α :=
ofMeasurable (fun s _ => v s) v.Empty fun f hf₁ hf₂ => v.of_disjoint_iUnion_nat hf₁ hf₂
#align measure_theory.vector_measure.ennreal_to_measure MeasureTheory.VectorMeasure.ennrealToMeasure
+-/
+#print MeasureTheory.VectorMeasure.ennrealToMeasure_apply /-
theorem ennrealToMeasure_apply {m : MeasurableSpace α} {v : VectorMeasure α ℝ≥0∞} {s : Set α}
(hs : MeasurableSet s) : ennrealToMeasure v s = v s := by
rw [ennreal_to_measure, of_measurable_apply _ hs]
#align measure_theory.vector_measure.ennreal_to_measure_apply MeasureTheory.VectorMeasure.ennrealToMeasure_apply
+-/
+#print MeasureTheory.VectorMeasure.equivMeasure /-
/-- The equiv between `vector_measure α ℝ≥0∞` and `measure α` formed by
`measure_theory.vector_measure.ennreal_to_measure` and
`measure_theory.measure.to_ennreal_vector_measure`. -/
@@ -603,6 +664,7 @@ def equivMeasure [MeasurableSpace α] : VectorMeasure α ℝ≥0∞ ≃ Measure
Measure.ext fun s hs => by
rw [ennreal_to_measure_apply hs, to_ennreal_vector_measure_apply_measurable hs]
#align measure_theory.vector_measure.equiv_measure MeasureTheory.VectorMeasure.equivMeasure
+-/
end
@@ -630,19 +692,26 @@ def map (v : VectorMeasure α M) (f : α → β) : VectorMeasure β M :=
#align measure_theory.vector_measure.map MeasureTheory.VectorMeasure.map
-/
+#print MeasureTheory.VectorMeasure.map_not_measurable /-
theorem map_not_measurable {f : α → β} (hf : ¬Measurable f) : v.map f = 0 :=
dif_neg hf
#align measure_theory.vector_measure.map_not_measurable MeasureTheory.VectorMeasure.map_not_measurable
+-/
+#print MeasureTheory.VectorMeasure.map_apply /-
theorem map_apply {f : α → β} (hf : Measurable f) {s : Set β} (hs : MeasurableSet s) :
v.map f s = v (f ⁻¹' s) := by rw [map, dif_pos hf]; exact if_pos hs
#align measure_theory.vector_measure.map_apply MeasureTheory.VectorMeasure.map_apply
+-/
+#print MeasureTheory.VectorMeasure.map_id /-
@[simp]
theorem map_id : v.map id = v :=
ext fun i hi => by rw [map_apply v measurable_id hi, preimage_id]
#align measure_theory.vector_measure.map_id MeasureTheory.VectorMeasure.map_id
+-/
+#print MeasureTheory.VectorMeasure.map_zero /-
@[simp]
theorem map_zero (f : α → β) : (0 : VectorMeasure α M).map f = 0 :=
by
@@ -651,11 +720,13 @@ theorem map_zero (f : α → β) : (0 : VectorMeasure α M).map f = 0 :=
rw [map_apply _ hf hi, zero_apply, zero_apply]
· exact dif_neg hf
#align measure_theory.vector_measure.map_zero MeasureTheory.VectorMeasure.map_zero
+-/
section
variable {N : Type _} [AddCommMonoid N] [TopologicalSpace N]
+#print MeasureTheory.VectorMeasure.mapRange /-
/-- Given a vector measure `v` on `M` and a continuous add_monoid_hom `f : M → N`, `f ∘ v` is a
vector measure on `N`. -/
def mapRange (v : VectorMeasure α M) (f : M →+ N) (hf : Continuous f) : VectorMeasure α N
@@ -665,31 +736,41 @@ def mapRange (v : VectorMeasure α M) (f : M →+ N) (hf : Continuous f) : Vecto
not_measurable' i hi := by rw [not_measurable v hi, AddMonoidHom.map_zero]
m_iUnion' g hg₁ hg₂ := HasSum.map (v.m_iUnion hg₁ hg₂) f hf
#align measure_theory.vector_measure.map_range MeasureTheory.VectorMeasure.mapRange
+-/
+#print MeasureTheory.VectorMeasure.mapRange_apply /-
@[simp]
theorem mapRange_apply {f : M →+ N} (hf : Continuous f) {s : Set α} :
v.map_range f hf s = f (v s) :=
rfl
#align measure_theory.vector_measure.map_range_apply MeasureTheory.VectorMeasure.mapRange_apply
+-/
+#print MeasureTheory.VectorMeasure.mapRange_id /-
@[simp]
theorem mapRange_id : v.map_range (AddMonoidHom.id M) continuous_id = v := by ext; rfl
#align measure_theory.vector_measure.map_range_id MeasureTheory.VectorMeasure.mapRange_id
+-/
+#print MeasureTheory.VectorMeasure.mapRange_zero /-
@[simp]
theorem mapRange_zero {f : M →+ N} (hf : Continuous f) :
mapRange (0 : VectorMeasure α M) f hf = 0 := by ext; simp
#align measure_theory.vector_measure.map_range_zero MeasureTheory.VectorMeasure.mapRange_zero
+-/
section ContinuousAdd
variable [ContinuousAdd M] [ContinuousAdd N]
+#print MeasureTheory.VectorMeasure.mapRange_add /-
@[simp]
theorem mapRange_add {v w : VectorMeasure α M} {f : M →+ N} (hf : Continuous f) :
(v + w).map_range f hf = v.map_range f hf + w.map_range f hf := by ext; simp
#align measure_theory.vector_measure.map_range_add MeasureTheory.VectorMeasure.mapRange_add
+-/
+#print MeasureTheory.VectorMeasure.mapRangeHom /-
/-- Given a continuous add_monoid_hom `f : M → N`, `map_range_hom` is the add_monoid_hom mapping the
vector measure `v` on `M` to the vector measure `f ∘ v` on `N`. -/
def mapRangeHom (f : M →+ N) (hf : Continuous f) : VectorMeasure α M →+ VectorMeasure α N
@@ -698,6 +779,7 @@ def mapRangeHom (f : M →+ N) (hf : Continuous f) : VectorMeasure α M →+ Vec
map_zero' := mapRange_zero hf
map_add' _ _ := mapRange_add hf
#align measure_theory.vector_measure.map_range_hom MeasureTheory.VectorMeasure.mapRangeHom
+-/
end ContinuousAdd
@@ -707,6 +789,7 @@ variable {R : Type _} [Semiring R] [Module R M] [Module R N]
variable [ContinuousAdd M] [ContinuousAdd N] [ContinuousConstSMul R M] [ContinuousConstSMul R N]
+#print MeasureTheory.VectorMeasure.mapRangeₗ /-
/-- Given a continuous linear map `f : M → N`, `map_rangeₗ` is the linear map mapping the
vector measure `v` on `M` to the vector measure `f ∘ v` on `N`. -/
def mapRangeₗ (f : M →ₗ[R] N) (hf : Continuous f) : VectorMeasure α M →ₗ[R] VectorMeasure α N
@@ -715,6 +798,7 @@ def mapRangeₗ (f : M →ₗ[R] N) (hf : Continuous f) : VectorMeasure α M →
map_add' _ _ := mapRange_add hf
map_smul' := by intros; ext; simp
#align measure_theory.vector_measure.map_rangeₗ MeasureTheory.VectorMeasure.mapRangeₗ
+-/
end Module
@@ -738,29 +822,40 @@ def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
#align measure_theory.vector_measure.restrict MeasureTheory.VectorMeasure.restrict
-/
+#print MeasureTheory.VectorMeasure.restrict_not_measurable /-
theorem restrict_not_measurable {i : Set α} (hi : ¬MeasurableSet i) : v.restrict i = 0 :=
dif_neg hi
#align measure_theory.vector_measure.restrict_not_measurable MeasureTheory.VectorMeasure.restrict_not_measurable
+-/
+#print MeasureTheory.VectorMeasure.restrict_apply /-
theorem restrict_apply {i : Set α} (hi : MeasurableSet i) {j : Set α} (hj : MeasurableSet j) :
v.restrict i j = v (j ∩ i) := by rw [restrict, dif_pos hi]; exact if_pos hj
#align measure_theory.vector_measure.restrict_apply MeasureTheory.VectorMeasure.restrict_apply
+-/
+#print MeasureTheory.VectorMeasure.restrict_eq_self /-
theorem restrict_eq_self {i : Set α} (hi : MeasurableSet i) {j : Set α} (hj : MeasurableSet j)
(hij : j ⊆ i) : v.restrict i j = v j := by
rw [restrict_apply v hi hj, inter_eq_left_iff_subset.2 hij]
#align measure_theory.vector_measure.restrict_eq_self MeasureTheory.VectorMeasure.restrict_eq_self
+-/
+#print MeasureTheory.VectorMeasure.restrict_empty /-
@[simp]
theorem restrict_empty : v.restrict ∅ = 0 :=
ext fun i hi => by rw [restrict_apply v MeasurableSet.empty hi, inter_empty, v.empty, zero_apply]
#align measure_theory.vector_measure.restrict_empty MeasureTheory.VectorMeasure.restrict_empty
+-/
+#print MeasureTheory.VectorMeasure.restrict_univ /-
@[simp]
theorem restrict_univ : v.restrict univ = v :=
ext fun i hi => by rw [restrict_apply v MeasurableSet.univ hi, inter_univ]
#align measure_theory.vector_measure.restrict_univ MeasureTheory.VectorMeasure.restrict_univ
+-/
+#print MeasureTheory.VectorMeasure.restrict_zero /-
@[simp]
theorem restrict_zero {i : Set α} : (0 : VectorMeasure α M).restrict i = 0 :=
by
@@ -768,11 +863,13 @@ theorem restrict_zero {i : Set α} : (0 : VectorMeasure α M).restrict i = 0 :=
· ext (j hj); rw [restrict_apply 0 hi hj]; rfl
· exact dif_neg hi
#align measure_theory.vector_measure.restrict_zero MeasureTheory.VectorMeasure.restrict_zero
+-/
section ContinuousAdd
variable [ContinuousAdd M]
+#print MeasureTheory.VectorMeasure.map_add /-
theorem map_add (v w : VectorMeasure α M) (f : α → β) : (v + w).map f = v.map f + w.map f :=
by
by_cases hf : Measurable f
@@ -780,7 +877,9 @@ theorem map_add (v w : VectorMeasure α M) (f : α → β) : (v + w).map f = v.m
simp [map_apply _ hf hi]
· simp [map, dif_neg hf]
#align measure_theory.vector_measure.map_add MeasureTheory.VectorMeasure.map_add
+-/
+#print MeasureTheory.VectorMeasure.mapGm /-
/-- `vector_measure.map` as an additive monoid homomorphism. -/
@[simps]
def mapGm (f : α → β) : VectorMeasure α M →+ VectorMeasure β M
@@ -789,7 +888,9 @@ def mapGm (f : α → β) : VectorMeasure α M →+ VectorMeasure β M
map_zero' := map_zero f
map_add' _ _ := map_add _ _ f
#align measure_theory.vector_measure.map_gm MeasureTheory.VectorMeasure.mapGm
+-/
+#print MeasureTheory.VectorMeasure.restrict_add /-
theorem restrict_add (v w : VectorMeasure α M) (i : Set α) :
(v + w).restrict i = v.restrict i + w.restrict i :=
by
@@ -798,7 +899,9 @@ theorem restrict_add (v w : VectorMeasure α M) (i : Set α) :
simp [restrict_apply _ hi hj]
· simp [restrict_not_measurable _ hi]
#align measure_theory.vector_measure.restrict_add MeasureTheory.VectorMeasure.restrict_add
+-/
+#print MeasureTheory.VectorMeasure.restrictGm /-
/-- `vector_measure.restrict` as an additive monoid homomorphism. -/
@[simps]
def restrictGm (i : Set α) : VectorMeasure α M →+ VectorMeasure α M
@@ -807,6 +910,7 @@ def restrictGm (i : Set α) : VectorMeasure α M →+ VectorMeasure α M
map_zero' := restrict_zero
map_add' _ _ := restrict_add _ _ i
#align measure_theory.vector_measure.restrict_gm MeasureTheory.VectorMeasure.restrictGm
+-/
end ContinuousAdd
@@ -820,8 +924,7 @@ variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
-include m
-
+#print MeasureTheory.VectorMeasure.map_smul /-
@[simp]
theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).map f = c • v.map f :=
by
@@ -833,7 +936,9 @@ theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).ma
ext (i hi);
simp
#align measure_theory.vector_measure.map_smul MeasureTheory.VectorMeasure.map_smul
+-/
+#print MeasureTheory.VectorMeasure.restrict_smul /-
@[simp]
theorem restrict_smul {v : VectorMeasure α M} {i : Set α} (c : R) :
(c • v).restrict i = c • v.restrict i :=
@@ -846,6 +951,7 @@ theorem restrict_smul {v : VectorMeasure α M} {i : Set α} (c : R) :
ext (j hj);
simp
#align measure_theory.vector_measure.restrict_smul MeasureTheory.VectorMeasure.restrict_smul
+-/
end
@@ -857,8 +963,7 @@ variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
variable {R : Type _} [Semiring R] [Module R M] [ContinuousConstSMul R M] [ContinuousAdd M]
-include m
-
+#print MeasureTheory.VectorMeasure.mapₗ /-
/-- `vector_measure.map` as a linear map. -/
@[simps]
def mapₗ (f : α → β) : VectorMeasure α M →ₗ[R] VectorMeasure β M
@@ -867,7 +972,9 @@ def mapₗ (f : α → β) : VectorMeasure α M →ₗ[R] VectorMeasure β M
map_add' _ _ := map_add _ _ f
map_smul' _ _ := map_smul _
#align measure_theory.vector_measure.mapₗ MeasureTheory.VectorMeasure.mapₗ
+-/
+#print MeasureTheory.VectorMeasure.restrictₗ /-
/-- `vector_measure.restrict` as an additive monoid homomorphism. -/
@[simps]
def restrictₗ (i : Set α) : VectorMeasure α M →ₗ[R] VectorMeasure α M
@@ -876,6 +983,7 @@ def restrictₗ (i : Set α) : VectorMeasure α M →ₗ[R] VectorMeasure α M
map_add' _ _ := restrict_add _ _ i
map_smul' _ _ := restrict_smul _
#align measure_theory.vector_measure.restrictₗ MeasureTheory.VectorMeasure.restrictₗ
+-/
end
@@ -883,8 +991,6 @@ section
variable {M : Type _} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
-include m
-
/-- Vector measures over a partially ordered monoid is partially ordered.
This definition is consistent with `measure.partial_order`. -/
@@ -897,10 +1003,13 @@ instance : PartialOrder (VectorMeasure α M)
variable {u v w : VectorMeasure α M}
+#print MeasureTheory.VectorMeasure.le_iff /-
theorem le_iff : v ≤ w ↔ ∀ i, MeasurableSet i → v i ≤ w i :=
Iff.rfl
#align measure_theory.vector_measure.le_iff MeasureTheory.VectorMeasure.le_iff
+-/
+#print MeasureTheory.VectorMeasure.le_iff' /-
theorem le_iff' : v ≤ w ↔ ∀ i, v i ≤ w i :=
by
refine' ⟨fun h i => _, fun h i hi => h i⟩
@@ -908,10 +1017,10 @@ theorem le_iff' : v ≤ w ↔ ∀ i, v i ≤ w i :=
· exact h i hi
· rw [v.not_measurable hi, w.not_measurable hi]
#align measure_theory.vector_measure.le_iff' MeasureTheory.VectorMeasure.le_iff'
+-/
end
--- mathport name: vector_measure.restrict
scoped[MeasureTheory]
notation:50 v " ≤[" i:50 "] " w:50 =>
MeasureTheory.VectorMeasure.restrict v i ≤ MeasureTheory.VectorMeasure.restrict w i
@@ -922,6 +1031,7 @@ variable {M : Type _} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
variable (v w : VectorMeasure α M)
+#print MeasureTheory.VectorMeasure.restrict_le_restrict_iff /-
theorem restrict_le_restrict_iff {i : Set α} (hi : MeasurableSet i) :
v ≤[i] w ↔ ∀ ⦃j⦄, MeasurableSet j → j ⊆ i → v j ≤ w j :=
⟨fun h j hj₁ hj₂ => restrict_eq_self v hi hj₁ hj₂ ▸ restrict_eq_self w hi hj₁ hj₂ ▸ h j hj₁,
@@ -930,7 +1040,9 @@ theorem restrict_le_restrict_iff {i : Set α} (hi : MeasurableSet i) :
(restrict_apply v hi hj).symm ▸
(restrict_apply w hi hj).symm ▸ h (hj.inter hi) (Set.inter_subset_right j i)⟩
#align measure_theory.vector_measure.restrict_le_restrict_iff MeasureTheory.VectorMeasure.restrict_le_restrict_iff
+-/
+#print MeasureTheory.VectorMeasure.subset_le_of_restrict_le_restrict /-
theorem subset_le_of_restrict_le_restrict {i : Set α} (hi : MeasurableSet i) (hi₂ : v ≤[i] w)
{j : Set α} (hj : j ⊆ i) : v j ≤ w j :=
by
@@ -938,7 +1050,9 @@ theorem subset_le_of_restrict_le_restrict {i : Set α} (hi : MeasurableSet i) (h
· exact (restrict_le_restrict_iff _ _ hi).1 hi₂ hj₁ hj
· rw [v.not_measurable hj₁, w.not_measurable hj₁]
#align measure_theory.vector_measure.subset_le_of_restrict_le_restrict MeasureTheory.VectorMeasure.subset_le_of_restrict_le_restrict
+-/
+#print MeasureTheory.VectorMeasure.restrict_le_restrict_of_subset_le /-
theorem restrict_le_restrict_of_subset_le {i : Set α}
(h : ∀ ⦃j⦄, MeasurableSet j → j ⊆ i → v j ≤ w j) : v ≤[i] w :=
by
@@ -947,18 +1061,24 @@ theorem restrict_le_restrict_of_subset_le {i : Set α}
· rw [restrict_not_measurable v hi, restrict_not_measurable w hi]
exact le_rfl
#align measure_theory.vector_measure.restrict_le_restrict_of_subset_le MeasureTheory.VectorMeasure.restrict_le_restrict_of_subset_le
+-/
+#print MeasureTheory.VectorMeasure.restrict_le_restrict_subset /-
theorem restrict_le_restrict_subset {i j : Set α} (hi₁ : MeasurableSet i) (hi₂ : v ≤[i] w)
(hij : j ⊆ i) : v ≤[j] w :=
restrict_le_restrict_of_subset_le v w fun k hk₁ hk₂ =>
subset_le_of_restrict_le_restrict v w hi₁ hi₂ (Set.Subset.trans hk₂ hij)
#align measure_theory.vector_measure.restrict_le_restrict_subset MeasureTheory.VectorMeasure.restrict_le_restrict_subset
+-/
+#print MeasureTheory.VectorMeasure.le_restrict_empty /-
theorem le_restrict_empty : v ≤[∅] w := by
intro j hj
rw [restrict_empty, restrict_empty]
#align measure_theory.vector_measure.le_restrict_empty MeasureTheory.VectorMeasure.le_restrict_empty
+-/
+#print MeasureTheory.VectorMeasure.le_restrict_univ_iff_le /-
theorem le_restrict_univ_iff_le : v ≤[univ] w ↔ v ≤ w :=
by
constructor
@@ -971,6 +1091,7 @@ theorem le_restrict_univ_iff_le : v ≤[univ] w ↔ v ≤ w :=
inter_univ]
exact h s hs
#align measure_theory.vector_measure.le_restrict_univ_iff_le MeasureTheory.VectorMeasure.le_restrict_univ_iff_le
+-/
end
@@ -980,6 +1101,7 @@ variable {M : Type _} [TopologicalSpace M] [OrderedAddCommGroup M] [TopologicalA
variable (v w : VectorMeasure α M)
+#print MeasureTheory.VectorMeasure.neg_le_neg /-
theorem neg_le_neg {i : Set α} (hi : MeasurableSet i) (h : v ≤[i] w) : -w ≤[i] -v :=
by
intro j hj₁
@@ -988,11 +1110,14 @@ theorem neg_le_neg {i : Set α} (hi : MeasurableSet i) (h : v ≤[i] w) : -w ≤
rw [← restrict_apply _ hi hj₁, ← restrict_apply _ hi hj₁]
exact h j hj₁
#align measure_theory.vector_measure.neg_le_neg MeasureTheory.VectorMeasure.neg_le_neg
+-/
+#print MeasureTheory.VectorMeasure.neg_le_neg_iff /-
@[simp]
theorem neg_le_neg_iff {i : Set α} (hi : MeasurableSet i) : -w ≤[i] -v ↔ v ≤[i] w :=
⟨fun h => neg_neg v ▸ neg_neg w ▸ neg_le_neg _ _ hi h, fun h => neg_le_neg _ _ hi h⟩
#align measure_theory.vector_measure.neg_le_neg_iff MeasureTheory.VectorMeasure.neg_le_neg_iff
+-/
end
@@ -1002,6 +1127,7 @@ variable {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M] [OrderClosed
variable (v w : VectorMeasure α M) {i j : Set α}
+#print MeasureTheory.VectorMeasure.restrict_le_restrict_iUnion /-
theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, MeasurableSet (f n))
(hf₂ : ∀ n, v ≤[f n] w) : v ≤[⋃ n, f n] w :=
by
@@ -1023,7 +1149,9 @@ theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, Measura
· intro n; exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
· exact fun n => ha₁.inter (MeasurableSet.disjointed hf₁ n)
#align measure_theory.vector_measure.restrict_le_restrict_Union MeasureTheory.VectorMeasure.restrict_le_restrict_iUnion
+-/
+#print MeasureTheory.VectorMeasure.restrict_le_restrict_countable_iUnion /-
theorem restrict_le_restrict_countable_iUnion [Countable β] {f : β → Set α}
(hf₁ : ∀ b, MeasurableSet (f b)) (hf₂ : ∀ b, v ≤[f b] w) : v ≤[⋃ b, f b] w :=
by
@@ -1036,7 +1164,9 @@ theorem restrict_le_restrict_countable_iUnion [Countable β] {f : β → Set α}
· simp
· simp [hf₂ b]
#align measure_theory.vector_measure.restrict_le_restrict_countable_Union MeasureTheory.VectorMeasure.restrict_le_restrict_countable_iUnion
+-/
+#print MeasureTheory.VectorMeasure.restrict_le_restrict_union /-
theorem restrict_le_restrict_union (hi₁ : MeasurableSet i) (hi₂ : v ≤[i] w) (hj₁ : MeasurableSet j)
(hj₂ : v ≤[j] w) : v ≤[i ∪ j] w := by
rw [union_eq_Union]
@@ -1044,6 +1174,7 @@ theorem restrict_le_restrict_union (hi₁ : MeasurableSet i) (hi₂ : v ≤[i] w
· measurability
· rintro (_ | _) <;> simpa
#align measure_theory.vector_measure.restrict_le_restrict_union MeasureTheory.VectorMeasure.restrict_le_restrict_union
+-/
end
@@ -1053,49 +1184,65 @@ variable {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
variable (v w : VectorMeasure α M) {i j : Set α}
+#print MeasureTheory.VectorMeasure.nonneg_of_zero_le_restrict /-
theorem nonneg_of_zero_le_restrict (hi₂ : 0 ≤[i] v) : 0 ≤ v i :=
by
by_cases hi₁ : MeasurableSet i
· exact (restrict_le_restrict_iff _ _ hi₁).1 hi₂ hi₁ Set.Subset.rfl
· rw [v.not_measurable hi₁]
#align measure_theory.vector_measure.nonneg_of_zero_le_restrict MeasureTheory.VectorMeasure.nonneg_of_zero_le_restrict
+-/
+#print MeasureTheory.VectorMeasure.nonpos_of_restrict_le_zero /-
theorem nonpos_of_restrict_le_zero (hi₂ : v ≤[i] 0) : v i ≤ 0 :=
by
by_cases hi₁ : MeasurableSet i
· exact (restrict_le_restrict_iff _ _ hi₁).1 hi₂ hi₁ Set.Subset.rfl
· rw [v.not_measurable hi₁]
#align measure_theory.vector_measure.nonpos_of_restrict_le_zero MeasureTheory.VectorMeasure.nonpos_of_restrict_le_zero
+-/
+#print MeasureTheory.VectorMeasure.zero_le_restrict_not_measurable /-
theorem zero_le_restrict_not_measurable (hi : ¬MeasurableSet i) : 0 ≤[i] v :=
by
rw [restrict_zero, restrict_not_measurable _ hi]
exact le_rfl
#align measure_theory.vector_measure.zero_le_restrict_not_measurable MeasureTheory.VectorMeasure.zero_le_restrict_not_measurable
+-/
+#print MeasureTheory.VectorMeasure.restrict_le_zero_of_not_measurable /-
theorem restrict_le_zero_of_not_measurable (hi : ¬MeasurableSet i) : v ≤[i] 0 :=
by
rw [restrict_zero, restrict_not_measurable _ hi]
exact le_rfl
#align measure_theory.vector_measure.restrict_le_zero_of_not_measurable MeasureTheory.VectorMeasure.restrict_le_zero_of_not_measurable
+-/
+#print MeasureTheory.VectorMeasure.measurable_of_not_zero_le_restrict /-
theorem measurable_of_not_zero_le_restrict (hi : ¬0 ≤[i] v) : MeasurableSet i :=
Not.imp_symm (zero_le_restrict_not_measurable _) hi
#align measure_theory.vector_measure.measurable_of_not_zero_le_restrict MeasureTheory.VectorMeasure.measurable_of_not_zero_le_restrict
+-/
+#print MeasureTheory.VectorMeasure.measurable_of_not_restrict_le_zero /-
theorem measurable_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) : MeasurableSet i :=
Not.imp_symm (restrict_le_zero_of_not_measurable _) hi
#align measure_theory.vector_measure.measurable_of_not_restrict_le_zero MeasureTheory.VectorMeasure.measurable_of_not_restrict_le_zero
+-/
+#print MeasureTheory.VectorMeasure.zero_le_restrict_subset /-
theorem zero_le_restrict_subset (hi₁ : MeasurableSet i) (hij : j ⊆ i) (hi₂ : 0 ≤[i] v) : 0 ≤[j] v :=
restrict_le_restrict_of_subset_le _ _ fun k hk₁ hk₂ =>
(restrict_le_restrict_iff _ _ hi₁).1 hi₂ hk₁ (Set.Subset.trans hk₂ hij)
#align measure_theory.vector_measure.zero_le_restrict_subset MeasureTheory.VectorMeasure.zero_le_restrict_subset
+-/
+#print MeasureTheory.VectorMeasure.restrict_le_zero_subset /-
theorem restrict_le_zero_subset (hi₁ : MeasurableSet i) (hij : j ⊆ i) (hi₂ : v ≤[i] 0) : v ≤[j] 0 :=
restrict_le_restrict_of_subset_le _ _ fun k hk₁ hk₂ =>
(restrict_le_restrict_iff _ _ hi₁).1 hi₂ hk₁ (Set.Subset.trans hk₂ hij)
#align measure_theory.vector_measure.restrict_le_zero_subset MeasureTheory.VectorMeasure.restrict_le_zero_subset
+-/
end
@@ -1105,8 +1252,7 @@ variable {M : Type _} [TopologicalSpace M] [LinearOrderedAddCommMonoid M]
variable (v w : VectorMeasure α M) {i j : Set α}
-include m
-
+#print MeasureTheory.VectorMeasure.exists_pos_measure_of_not_restrict_le_zero /-
theorem exists_pos_measure_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) :
∃ j : Set α, MeasurableSet j ∧ j ⊆ i ∧ 0 < v j :=
by
@@ -1116,6 +1262,7 @@ theorem exists_pos_measure_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) :
obtain ⟨j, hj₁, hj₂, hj⟩ := hi
exact ⟨j, hj₁, hj₂, hj⟩
#align measure_theory.vector_measure.exists_pos_measure_of_not_restrict_le_zero MeasureTheory.VectorMeasure.exists_pos_measure_of_not_restrict_le_zero
+-/
end
@@ -1124,12 +1271,12 @@ section
variable {M : Type _} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
[CovariantClass M M (· + ·) (· ≤ ·)] [ContinuousAdd M]
-include m
-
+#print MeasureTheory.VectorMeasure.covariant_add_le /-
instance covariant_add_le :
CovariantClass (VectorMeasure α M) (VectorMeasure α M) (· + ·) (· ≤ ·) :=
⟨fun u v w h i hi => add_le_add_left (h i hi) _⟩
#align measure_theory.vector_measure.covariant_add_le MeasureTheory.VectorMeasure.covariant_add_le
+-/
end
@@ -1140,8 +1287,6 @@ variable {L M N : Type _}
variable [AddCommMonoid L] [TopologicalSpace L] [AddCommMonoid M] [TopologicalSpace M]
[AddCommMonoid N] [TopologicalSpace N]
-include m
-
#print MeasureTheory.VectorMeasure.AbsolutelyContinuous /-
/-- A vector measure `v` is absolutely continuous with respect to a measure `μ` if for all sets
`s`, `μ s = 0`, we have `v s = 0`. -/
@@ -1150,7 +1295,6 @@ def AbsolutelyContinuous (v : VectorMeasure α M) (w : VectorMeasure α N) :=
#align measure_theory.vector_measure.absolutely_continuous MeasureTheory.VectorMeasure.AbsolutelyContinuous
-/
--- mathport name: vector_measure.absolutely_continuous
scoped[MeasureTheory] infixl:50 " ≪ᵥ " => MeasureTheory.VectorMeasure.AbsolutelyContinuous
open scoped MeasureTheory
@@ -1159,6 +1303,7 @@ namespace AbsolutelyContinuous
variable {v : VectorMeasure α M} {w : VectorMeasure α N}
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.mk /-
theorem mk (h : ∀ ⦃s : Set α⦄, MeasurableSet s → w s = 0 → v s = 0) : v ≪ᵥ w :=
by
intro s hs
@@ -1166,29 +1311,41 @@ theorem mk (h : ∀ ⦃s : Set α⦄, MeasurableSet s → w s = 0 → v s = 0) :
· exact h hmeas hs
· exact not_measurable v hmeas
#align measure_theory.vector_measure.absolutely_continuous.mk MeasureTheory.VectorMeasure.AbsolutelyContinuous.mk
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.eq /-
theorem eq {w : VectorMeasure α M} (h : v = w) : v ≪ᵥ w := fun s hs => h.symm ▸ hs
#align measure_theory.vector_measure.absolutely_continuous.eq MeasureTheory.VectorMeasure.AbsolutelyContinuous.eq
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.refl /-
@[refl]
theorem refl (v : VectorMeasure α M) : v ≪ᵥ v :=
eq rfl
#align measure_theory.vector_measure.absolutely_continuous.refl MeasureTheory.VectorMeasure.AbsolutelyContinuous.refl
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.trans /-
@[trans]
theorem trans {u : VectorMeasure α L} {v : VectorMeasure α M} {w : VectorMeasure α N} (huv : u ≪ᵥ v)
(hvw : v ≪ᵥ w) : u ≪ᵥ w := fun _ hs => huv <| hvw hs
#align measure_theory.vector_measure.absolutely_continuous.trans MeasureTheory.VectorMeasure.AbsolutelyContinuous.trans
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.zero /-
theorem zero (v : VectorMeasure α N) : (0 : VectorMeasure α M) ≪ᵥ v := fun s _ =>
VectorMeasure.zero_apply s
#align measure_theory.vector_measure.absolutely_continuous.zero MeasureTheory.VectorMeasure.AbsolutelyContinuous.zero
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_left /-
theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : -v ≪ᵥ w := fun s hs => by
rw [neg_apply, h hs, neg_zero]
#align measure_theory.vector_measure.absolutely_continuous.neg_left MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_left
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_right /-
theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : v ≪ᵥ -w :=
by
@@ -1196,21 +1353,29 @@ theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [Topologica
rw [neg_apply, neg_eq_zero] at hs
exact h hs
#align measure_theory.vector_measure.absolutely_continuous.neg_right MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_right
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.add /-
theorem add [ContinuousAdd M] {v₁ v₂ : VectorMeasure α M} {w : VectorMeasure α N} (hv₁ : v₁ ≪ᵥ w)
(hv₂ : v₂ ≪ᵥ w) : v₁ + v₂ ≪ᵥ w := fun s hs => by rw [add_apply, hv₁ hs, hv₂ hs, zero_add]
#align measure_theory.vector_measure.absolutely_continuous.add MeasureTheory.VectorMeasure.AbsolutelyContinuous.add
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.sub /-
theorem sub {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v₁ v₂ : VectorMeasure α M} {w : VectorMeasure α N} (hv₁ : v₁ ≪ᵥ w) (hv₂ : v₂ ≪ᵥ w) :
v₁ - v₂ ≪ᵥ w := fun s hs => by rw [sub_apply, hv₁ hs, hv₂ hs, zero_sub, neg_zero]
#align measure_theory.vector_measure.absolutely_continuous.sub MeasureTheory.VectorMeasure.AbsolutelyContinuous.sub
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.smul /-
theorem smul {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] {r : R}
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : r • v ≪ᵥ w := fun s hs => by
rw [smul_apply, h hs, smul_zero]
#align measure_theory.vector_measure.absolutely_continuous.smul MeasureTheory.VectorMeasure.AbsolutelyContinuous.smul
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.map /-
theorem map [MeasureSpace β] (h : v ≪ᵥ w) (f : α → β) : v.map f ≪ᵥ w.map f :=
by
by_cases hf : Measurable f
@@ -1220,7 +1385,9 @@ theorem map [MeasureSpace β] (h : v ≪ᵥ w) (f : α → β) : v.map f ≪ᵥ
· intro s hs
rw [map_not_measurable v hf, zero_apply]
#align measure_theory.vector_measure.absolutely_continuous.map MeasureTheory.VectorMeasure.AbsolutelyContinuous.map
+-/
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous.ennrealToMeasure /-
theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
(∀ ⦃s : Set α⦄, μ.ennrealToMeasure s = 0 → v s = 0) ↔ v ≪ᵥ μ :=
by
@@ -1233,6 +1400,7 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
exact h hs
· exact not_measurable v hmeas
#align measure_theory.vector_measure.absolutely_continuous.ennreal_to_measure MeasureTheory.VectorMeasure.AbsolutelyContinuous.ennrealToMeasure
+-/
end AbsolutelyContinuous
@@ -1251,7 +1419,6 @@ def MutuallySingular (v : VectorMeasure α M) (w : VectorMeasure α N) : Prop :=
#align measure_theory.vector_measure.mutually_singular MeasureTheory.VectorMeasure.MutuallySingular
-/
--- mathport name: vector_measure.mutually_singular
scoped[MeasureTheory] infixl:60 " ⟂ᵥ " => MeasureTheory.VectorMeasure.MutuallySingular
namespace MutuallySingular
@@ -1260,6 +1427,7 @@ variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » s) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+#print MeasureTheory.VectorMeasure.MutuallySingular.mk /-
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w :=
by
@@ -1269,21 +1437,29 @@ theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), Me
· exact h₂ t hst ht
· exact not_measurable w ht
#align measure_theory.vector_measure.mutually_singular.mk MeasureTheory.VectorMeasure.MutuallySingular.mk
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.symm /-
theorem symm (h : v ⟂ᵥ w) : w ⟂ᵥ v :=
let ⟨s, hmeas, hs₁, hs₂⟩ := h
⟨sᶜ, hmeas.compl, hs₂, fun t ht => hs₁ _ (compl_compl s ▸ ht : t ⊆ s)⟩
#align measure_theory.vector_measure.mutually_singular.symm MeasureTheory.VectorMeasure.MutuallySingular.symm
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.zero_right /-
theorem zero_right : v ⟂ᵥ (0 : VectorMeasure α N) :=
⟨∅, MeasurableSet.empty, fun t ht => (subset_empty_iff.1 ht).symm ▸ v.Empty, fun _ _ =>
zero_apply _⟩
#align measure_theory.vector_measure.mutually_singular.zero_right MeasureTheory.VectorMeasure.MutuallySingular.zero_right
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.zero_left /-
theorem zero_left : (0 : VectorMeasure α M) ⟂ᵥ w :=
zero_right.symm
#align measure_theory.vector_measure.mutually_singular.zero_left MeasureTheory.VectorMeasure.MutuallySingular.zero_left
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.add_left /-
theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v₂ ⟂ᵥ w) : v₁ + v₂ ⟂ᵥ w :=
by
obtain ⟨u, hmu, hu₁, hu₂⟩ := h₁
@@ -1304,22 +1480,30 @@ theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v
exacts [False.elim (hxu' hxu), Or.inr ⟨⟨hxv, hxu'⟩, hx⟩]
· rcases hx with ⟨⟩ <;> exact hx.2
#align measure_theory.vector_measure.mutually_singular.add_left MeasureTheory.VectorMeasure.MutuallySingular.add_left
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.add_right /-
theorem add_right [T2Space M] [ContinuousAdd N] (h₁ : v ⟂ᵥ w₁) (h₂ : v ⟂ᵥ w₂) : v ⟂ᵥ w₁ + w₂ :=
(add_left h₁.symm h₂.symm).symm
#align measure_theory.vector_measure.mutually_singular.add_right MeasureTheory.VectorMeasure.MutuallySingular.add_right
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.smul_right /-
theorem smul_right {R : Type _} [Semiring R] [DistribMulAction R N] [ContinuousConstSMul R N]
(r : R) (h : v ⟂ᵥ w) : v ⟂ᵥ r • w :=
let ⟨s, hmeas, hs₁, hs₂⟩ := h
⟨s, hmeas, hs₁, fun t ht => by simp only [coe_smul, Pi.smul_apply, hs₂ t ht, smul_zero]⟩
#align measure_theory.vector_measure.mutually_singular.smul_right MeasureTheory.VectorMeasure.MutuallySingular.smul_right
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.smul_left /-
theorem smul_left {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] (r : R)
(h : v ⟂ᵥ w) : r • v ⟂ᵥ w :=
(smul_right r h.symm).symm
#align measure_theory.vector_measure.mutually_singular.smul_left MeasureTheory.VectorMeasure.MutuallySingular.smul_left
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.neg_left /-
theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ⟂ᵥ w) : -v ⟂ᵥ w :=
by
@@ -1328,30 +1512,35 @@ theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [Topological
rw [neg_apply v s, neg_eq_zero]
exact hu₁ s hs
#align measure_theory.vector_measure.mutually_singular.neg_left MeasureTheory.VectorMeasure.MutuallySingular.neg_left
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.neg_right /-
theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ⟂ᵥ w) : v ⟂ᵥ -w :=
h.symm.neg_left.symm
#align measure_theory.vector_measure.mutually_singular.neg_right MeasureTheory.VectorMeasure.MutuallySingular.neg_right
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.neg_left_iff /-
@[simp]
theorem neg_left_iff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} : -v ⟂ᵥ w ↔ v ⟂ᵥ w :=
⟨fun h => neg_neg v ▸ h.neg_left, neg_left⟩
#align measure_theory.vector_measure.mutually_singular.neg_left_iff MeasureTheory.VectorMeasure.MutuallySingular.neg_left_iff
+-/
+#print MeasureTheory.VectorMeasure.MutuallySingular.neg_right_iff /-
@[simp]
theorem neg_right_iff {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} : v ⟂ᵥ -w ↔ v ⟂ᵥ w :=
⟨fun h => neg_neg w ▸ h.neg_right, neg_right⟩
#align measure_theory.vector_measure.mutually_singular.neg_right_iff MeasureTheory.VectorMeasure.MutuallySingular.neg_right_iff
+-/
end MutuallySingular
section Trim
-omit m
-
#print MeasureTheory.VectorMeasure.trim /-
/-- Restriction of a vector measure onto a sub-σ-algebra. -/
@[simps]
@@ -1371,23 +1560,30 @@ def trim {m n : MeasurableSpace α} (v : VectorMeasure α M) (hle : m ≤ n) : @
variable {n : MeasurableSpace α} {v : VectorMeasure α M}
+#print MeasureTheory.VectorMeasure.trim_eq_self /-
theorem trim_eq_self : v.trim le_rfl = v := by
ext1 i hi
exact if_pos hi
#align measure_theory.vector_measure.trim_eq_self MeasureTheory.VectorMeasure.trim_eq_self
+-/
+#print MeasureTheory.VectorMeasure.zero_trim /-
@[simp]
theorem zero_trim (hle : m ≤ n) : (0 : VectorMeasure α M).trim hle = 0 :=
by
ext1 i hi
exact if_pos hi
#align measure_theory.vector_measure.zero_trim MeasureTheory.VectorMeasure.zero_trim
+-/
+#print MeasureTheory.VectorMeasure.trim_measurableSet_eq /-
theorem trim_measurableSet_eq (hle : m ≤ n) {i : Set α} (hi : measurable_set[m] i) :
v.trim hle i = v i :=
if_pos hi
#align measure_theory.vector_measure.trim_measurable_set_eq MeasureTheory.VectorMeasure.trim_measurableSet_eq
+-/
+#print MeasureTheory.VectorMeasure.restrict_trim /-
theorem restrict_trim (hle : m ≤ n) {i : Set α} (hi : measurable_set[m] i) :
@VectorMeasure.restrict α m M _ _ (v.trim hle) i = (v.restrict i).trim hle :=
by
@@ -1395,6 +1591,7 @@ theorem restrict_trim (hle : m ≤ n) {i : Set α} (hi : measurable_set[m] i) :
rw [restrict_apply, trim_measurable_set_eq hle hj, restrict_apply, trim_measurable_set_eq]
all_goals measurability
#align measure_theory.vector_measure.restrict_trim MeasureTheory.VectorMeasure.restrict_trim
+-/
end Trim
@@ -1408,14 +1605,15 @@ open VectorMeasure
open scoped MeasureTheory
-include m
-
+#print MeasureTheory.SignedMeasure.toMeasureOfZeroLE' /-
/-- The underlying function for `signed_measure.to_measure_of_zero_le`. -/
def toMeasureOfZeroLE' (s : SignedMeasure α) (i : Set α) (hi : 0 ≤[i] s) (j : Set α)
(hj : MeasurableSet j) : ℝ≥0∞ :=
@coe ℝ≥0 ℝ≥0∞ _ ⟨s.restrict i j, le_trans (by simp) (hi j hj)⟩
#align measure_theory.signed_measure.to_measure_of_zero_le' MeasureTheory.SignedMeasure.toMeasureOfZeroLE'
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfZeroLE /-
/-- Given a signed measure `s` and a positive measurable set `i`, `to_measure_of_zero_le`
provides the measure, mapping measurable sets `j` to `s (i ∩ j)`. -/
def toMeasureOfZeroLE (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : 0 ≤[i] s) :
@@ -1442,9 +1640,11 @@ def toMeasureOfZeroLE (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
simp_rw [s.restrict_apply hi₁ (hf₁ n), Set.inter_comm]
· exact (NNReal.summable_mk h).2 (s.m_Union h₁ h₂).Summable)
#align measure_theory.signed_measure.to_measure_of_zero_le MeasureTheory.SignedMeasure.toMeasureOfZeroLE
+-/
variable (s : SignedMeasure α) {i j : Set α}
+#print MeasureTheory.SignedMeasure.toMeasureOfZeroLE_apply /-
theorem toMeasureOfZeroLE_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
s.toMeasureOfZeroLE i hi₁ hi j =
@coe ℝ≥0 ℝ≥0∞ _
@@ -1455,14 +1655,18 @@ theorem toMeasureOfZeroLE_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj
simp_rw [to_measure_of_zero_le, measure.of_measurable_apply _ hj₁, to_measure_of_zero_le',
s.restrict_apply hi₁ hj₁, Set.inter_comm]
#align measure_theory.signed_measure.to_measure_of_zero_le_apply MeasureTheory.SignedMeasure.toMeasureOfZeroLE_apply
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfLEZero /-
/-- Given a signed measure `s` and a negative measurable set `i`, `to_measure_of_le_zero`
provides the measure, mapping measurable sets `j` to `-s (i ∩ j)`. -/
def toMeasureOfLEZero (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : s ≤[i] 0) :
Measure α :=
toMeasureOfZeroLE (-s) i hi₁ <| @neg_zero (VectorMeasure α ℝ) _ ▸ neg_le_neg _ _ hi₁ hi₂
#align measure_theory.signed_measure.to_measure_of_le_zero MeasureTheory.SignedMeasure.toMeasureOfLEZero
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfLEZero_apply /-
theorem toMeasureOfLEZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
s.toMeasureOfLEZero i hi₁ hi j =
@coe ℝ≥0 ℝ≥0∞ _
@@ -1476,7 +1680,9 @@ theorem toMeasureOfLEZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj
· simp
· assumption
#align measure_theory.signed_measure.to_measure_of_le_zero_apply MeasureTheory.SignedMeasure.toMeasureOfLEZero_apply
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfZeroLE_finite /-
/-- `signed_measure.to_measure_of_zero_le` is a finite measure. -/
instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
IsFiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi)
@@ -1485,7 +1691,9 @@ instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
rw [to_measure_of_zero_le_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLE_finite
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfLEZero_finite /-
/-- `signed_measure.to_measure_of_le_zero` is a finite measure. -/
instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
IsFiniteMeasure (s.toMeasureOfLEZero i hi₁ hi)
@@ -1494,20 +1702,25 @@ instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
rw [to_measure_of_le_zero_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLEZero_finite
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfZeroLE_toSignedMeasure /-
theorem toMeasureOfZeroLE_toSignedMeasure (hs : 0 ≤[univ] s) :
(s.toMeasureOfZeroLE univ MeasurableSet.univ hs).toSignedMeasure = s :=
by
ext (i hi)
simp [measure.to_signed_measure_apply_measurable hi, to_measure_of_zero_le_apply _ _ _ hi]
#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLE_toSignedMeasure
+-/
+#print MeasureTheory.SignedMeasure.toMeasureOfLEZero_toSignedMeasure /-
theorem toMeasureOfLEZero_toSignedMeasure (hs : s ≤[univ] 0) :
(s.toMeasureOfLEZero univ MeasurableSet.univ hs).toSignedMeasure = -s :=
by
ext (i hi)
simp [measure.to_signed_measure_apply_measurable hi, to_measure_of_le_zero_apply _ _ _ hi]
#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLEZero_toSignedMeasure
+-/
end SignedMeasure
@@ -1517,6 +1730,7 @@ open VectorMeasure
variable (μ : Measure α) [IsFiniteMeasure μ]
+#print MeasureTheory.Measure.zero_le_toSignedMeasure /-
theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure :=
by
rw [← le_restrict_univ_iff_le]
@@ -1524,6 +1738,7 @@ theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure :=
simp only [measure.to_signed_measure_apply_measurable hj₁, coe_zero, Pi.zero_apply,
ENNReal.toReal_nonneg, vector_measure.coe_zero]
#align measure_theory.measure.zero_le_to_signed_measure MeasureTheory.Measure.zero_le_toSignedMeasure
+-/
#print MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLE /-
theorem toSignedMeasure_toMeasureOfZeroLE :
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -231,7 +231,6 @@ theorem of_diff_of_diff_eq_zero {A B : Set α} (hA : MeasurableSet A) (hB : Meas
· exact hA.inter hB
· exact hB.diff hA
_ = v (A \ B) + v B := by rw [Set.union_comm, Set.inter_comm, Set.diff_union_inter]
-
#align measure_theory.vector_measure.of_diff_of_diff_eq_zero MeasureTheory.VectorMeasure.of_diff_of_diff_eq_zero
theorem of_iUnion_nonneg {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
mathlib commit https://github.com/leanprover-community/mathlib/commit/31c24aa72e7b3e5ed97a8412470e904f82b81004
@@ -1237,8 +1237,8 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
end AbsolutelyContinuous
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
#print MeasureTheory.VectorMeasure.MutuallySingular /-
/-- Two vector measures `v` and `w` are said to be mutually singular if there exists a measurable
set `s`, such that for all `t ⊆ s`, `v t = 0` and for all `t ⊆ sᶜ`, `w t = 0`.
@@ -1259,8 +1259,8 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3209ddf94136d36e5e5c624b10b2a347cc9d090
@@ -532,7 +532,7 @@ theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0
/-- A measure is a vector measure over `ℝ≥0∞`. -/
@[simps]
-def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
+def toENNRealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
where
measureOf' := fun i : Set α => if MeasurableSet i then μ i else 0
empty' := by simp [μ.empty]
@@ -541,28 +541,28 @@ def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
rw [Summable.hasSum_iff ENNReal.summable]
· rw [if_pos (MeasurableSet.iUnion hf₁), MeasureTheory.measure_iUnion hf₂ hf₁]
exact tsum_congr fun n => if_pos (hf₁ n)
-#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toEnnrealVectorMeasure
+#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toENNRealVectorMeasure
-#print MeasureTheory.Measure.toEnnrealVectorMeasure_apply_measurable /-
-theorem toEnnrealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (hi : MeasurableSet i) :
- μ.toEnnrealVectorMeasure i = μ i :=
+#print MeasureTheory.Measure.toENNRealVectorMeasure_apply_measurable /-
+theorem toENNRealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (hi : MeasurableSet i) :
+ μ.toENNRealVectorMeasure i = μ i :=
if_pos hi
-#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toEnnrealVectorMeasure_apply_measurable
+#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toENNRealVectorMeasure_apply_measurable
-/
@[simp]
-theorem toEnnrealVectorMeasure_zero : (0 : Measure α).toEnnrealVectorMeasure = 0 := by ext (i hi);
+theorem toENNRealVectorMeasure_zero : (0 : Measure α).toENNRealVectorMeasure = 0 := by ext (i hi);
simp
-#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toEnnrealVectorMeasure_zero
+#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toENNRealVectorMeasure_zero
@[simp]
-theorem toEnnrealVectorMeasure_add (μ ν : Measure α) :
- (μ + ν).toEnnrealVectorMeasure = μ.toEnnrealVectorMeasure + ν.toEnnrealVectorMeasure :=
+theorem toENNRealVectorMeasure_add (μ ν : Measure α) :
+ (μ + ν).toENNRealVectorMeasure = μ.toENNRealVectorMeasure + ν.toENNRealVectorMeasure :=
by
refine' MeasureTheory.VectorMeasure.ext fun i hi => _
rw [to_ennreal_vector_measure_apply_measurable hi, add_apply, vector_measure.add_apply,
to_ennreal_vector_measure_apply_measurable hi, to_ennreal_vector_measure_apply_measurable hi]
-#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toEnnrealVectorMeasure_add
+#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toENNRealVectorMeasure_add
theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
{i : Set α} (hi : MeasurableSet i) :
@@ -596,7 +596,7 @@ theorem ennrealToMeasure_apply {m : MeasurableSpace α} {v : VectorMeasure α
def equivMeasure [MeasurableSpace α] : VectorMeasure α ℝ≥0∞ ≃ Measure α
where
toFun := ennrealToMeasure
- invFun := toEnnrealVectorMeasure
+ invFun := toENNRealVectorMeasure
left_inv _ :=
ext fun s hs => by
rw [to_ennreal_vector_measure_apply_measurable hs, ennreal_to_measure_apply hs]
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -449,7 +449,7 @@ include m
#print MeasureTheory.Measure.toSignedMeasure /-
/-- A finite measure coerced into a real function is a signed measure. -/
@[simps]
-def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure α
+def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure α
where
measureOf' := fun i : Set α => if MeasurableSet i then (μ.measureOf i).toReal else 0
empty' := by simp [μ.empty]
@@ -473,7 +473,7 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
-/
#print MeasureTheory.Measure.toSignedMeasure_apply_measurable /-
-theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i : Set α}
+theorem toSignedMeasure_apply_measurable {μ : Measure α} [IsFiniteMeasure μ] {i : Set α}
(hi : MeasurableSet i) : μ.toSignedMeasure i = (μ i).toReal :=
if_pos hi
#align measure_theory.measure.to_signed_measure_apply_measurable MeasureTheory.Measure.toSignedMeasure_apply_measurable
@@ -482,14 +482,14 @@ theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i
#print MeasureTheory.Measure.toSignedMeasure_congr /-
-- Without this lemma, `singular_part_neg` in `measure_theory.decomposition.lebesgue` is
-- extremely slow
-theorem toSignedMeasure_congr {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] (h : μ = ν) :
- μ.toSignedMeasure = ν.toSignedMeasure := by congr; exact h
+theorem toSignedMeasure_congr {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
+ (h : μ = ν) : μ.toSignedMeasure = ν.toSignedMeasure := by congr; exact h
#align measure_theory.measure.to_signed_measure_congr MeasureTheory.Measure.toSignedMeasure_congr
-/
#print MeasureTheory.Measure.toSignedMeasure_eq_toSignedMeasure_iff /-
-theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasure μ]
- [FiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν :=
+theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [IsFiniteMeasure μ]
+ [IsFiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν :=
by
refine' ⟨fun h => _, fun h => _⟩
· ext1 i hi
@@ -509,7 +509,7 @@ theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by ext (i
#print MeasureTheory.Measure.toSignedMeasure_add /-
@[simp]
-theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasure ν] :
+theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteMeasure ν] :
(μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure :=
by
ext (i hi)
@@ -522,7 +522,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasu
-/
@[simp]
-theorem toSignedMeasure_smul (μ : Measure α) [FiniteMeasure μ] (r : ℝ≥0) :
+theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0) :
(r • μ).toSignedMeasure = r • μ.toSignedMeasure :=
by
ext (i hi)
@@ -564,8 +564,8 @@ theorem toEnnrealVectorMeasure_add (μ ν : Measure α) :
to_ennreal_vector_measure_apply_measurable hi, to_ennreal_vector_measure_apply_measurable hi]
#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toEnnrealVectorMeasure_add
-theorem toSignedMeasure_sub_apply {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] {i : Set α}
- (hi : MeasurableSet i) :
+theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
+ {i : Set α} (hi : MeasurableSet i) :
(μ.toSignedMeasure - ν.toSignedMeasure) i = (μ i).toReal - (ν i).toReal := by
rw [vector_measure.sub_apply, to_signed_measure_apply_measurable hi,
measure.to_signed_measure_apply_measurable hi, sub_eq_add_neg]
@@ -730,7 +730,8 @@ def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
not_measurable' := fun i hi => if_neg hi
m_iUnion' := by
intro f hf₁ hf₂
- convert v.m_Union (fun n => (hf₁ n).inter hi)
+ convert
+ v.m_Union (fun n => (hf₁ n).inter hi)
(hf₂.mono fun i j => Disjoint.mono inf_le_left inf_le_left)
· ext n; rw [if_pos (hf₁ n)]
· rw [Union_inter, if_pos (MeasurableSet.iUnion hf₁)] }
@@ -1112,7 +1113,7 @@ theorem exists_pos_measure_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) :
by
have hi₁ : MeasurableSet i := measurable_of_not_restrict_le_zero _ hi
rw [restrict_le_restrict_iff _ _ hi₁] at hi
- push_neg at hi
+ push_neg at hi
obtain ⟨j, hj₁, hj₂, hj⟩ := hi
exact ⟨j, hj₁, hj₂, hj⟩
#align measure_theory.vector_measure.exists_pos_measure_of_not_restrict_le_zero MeasureTheory.VectorMeasure.exists_pos_measure_of_not_restrict_le_zero
@@ -1479,7 +1480,7 @@ theorem toMeasureOfLEZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj
/-- `signed_measure.to_measure_of_zero_le` is a finite measure. -/
instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi)
+ IsFiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_zero_le_apply s hi hi₁ MeasurableSet.univ]
@@ -1488,7 +1489,7 @@ instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
/-- `signed_measure.to_measure_of_le_zero` is a finite measure. -/
instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfLEZero i hi₁ hi)
+ IsFiniteMeasure (s.toMeasureOfLEZero i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_le_zero_apply s hi hi₁ MeasurableSet.univ]
@@ -1515,7 +1516,7 @@ namespace Measure
open VectorMeasure
-variable (μ : Measure α) [FiniteMeasure μ]
+variable (μ : Measure α) [IsFiniteMeasure μ]
theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -61,7 +61,7 @@ variable {α β : Type _} {m : MeasurableSpace α}
/-- A vector measure on a measurable space `α` is a σ-additive `M`-valued function (for some `M`
an add monoid) such that the empty set and non-measurable sets are mapped to zero. -/
structure VectorMeasure (α : Type _) [MeasurableSpace α] (M : Type _) [AddCommMonoid M]
- [TopologicalSpace M] where
+ [TopologicalSpace M] where
measureOf' : Set α → M
empty' : measure_of' ∅ = 0
not_measurable' ⦃i : Set α⦄ : ¬MeasurableSet i → measure_of' i = 0
@@ -162,16 +162,16 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
MeasurableSet.iUnion fun b => MeasurableSet.iUnion fun _ => hf₁ b
have hg₂ : Pairwise (Disjoint on g) := Encodable.iUnion_decode₂_disjoint_on hf₂
have := v.of_disjoint_Union_nat hg₁ hg₂
- rw [hg, Encodable.iUnion_decode₂] at this
+ rw [hg, Encodable.iUnion_decode₂] at this
have hg₃ : (fun i : β => v (f i)) = fun i => v (g (Encodable.encode i)) :=
by
ext; rw [hg]; simp only
- congr ; ext y; simp only [exists_prop, mem_Union, Option.mem_def]
+ congr; ext y; simp only [exists_prop, mem_Union, Option.mem_def]
constructor
· intro hy
refine' ⟨x, (Encodable.decode₂_is_partial_inv _ _).2 rfl, hy⟩
· rintro ⟨b, hb₁, hb₂⟩
- rw [Encodable.decode₂_is_partial_inv _ _] at hb₁
+ rw [Encodable.decode₂_is_partial_inv _ _] at hb₁
rwa [← Encodable.encode_injective hb₁]
rw [Summable.hasSum_iff, this, ← tsum_iUnion_decode₂]
· exact v.empty
@@ -180,7 +180,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
· exact (v.m_Union hg₁ hg₂).Summable
· intro x hx
convert v.empty
- simp only [Union_eq_empty, Option.mem_def, not_exists, mem_range] at hx⊢
+ simp only [Union_eq_empty, Option.mem_def, not_exists, mem_range] at hx ⊢
intro i hi
exact False.elim ((hx i) ((Encodable.decode₂_is_partial_inv _ _).1 hi))
#align measure_theory.vector_measure.has_sum_of_disjoint_Union MeasureTheory.VectorMeasure.hasSum_of_disjoint_iUnion
@@ -194,7 +194,7 @@ theorem of_union {A B : Set α} (h : Disjoint A B) (hA : MeasurableSet A) (hB :
v (A ∪ B) = v A + v B :=
by
rw [union_eq_Union, of_disjoint_Union, tsum_fintype, Fintype.sum_bool, cond, cond]
- exacts[fun b => Bool.casesOn b hB hA, pairwise_disjoint_on_bool.2 h]
+ exacts [fun b => Bool.casesOn b hB hA, pairwise_disjoint_on_bool.2 h]
#align measure_theory.vector_measure.of_union MeasureTheory.VectorMeasure.of_union
theorem of_add_of_diff {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B) (h : A ⊆ B) :
@@ -250,7 +250,7 @@ theorem of_nonneg_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : 0 ≤ s A) (hB₂ : 0 ≤ s B)
(hAB : s (A ∪ B) = 0) : s A = 0 :=
by
- rw [of_union h hA₁ hB₁] at hAB
+ rw [of_union h hA₁ hB₁] at hAB
linarith
infer_instance
#align measure_theory.vector_measure.of_nonneg_disjoint_union_eq_zero MeasureTheory.VectorMeasure.of_nonneg_disjoint_union_eq_zero
@@ -259,7 +259,7 @@ theorem of_nonpos_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : s A ≤ 0) (hB₂ : s B ≤ 0)
(hAB : s (A ∪ B) = 0) : s A = 0 :=
by
- rw [of_union h hA₁ hB₁] at hAB
+ rw [of_union h hA₁ hB₁] at hAB
linarith
infer_instance
#align measure_theory.vector_measure.of_nonpos_disjoint_union_eq_zero MeasureTheory.VectorMeasure.of_nonpos_disjoint_union_eq_zero
@@ -458,12 +458,12 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
intro _ hf₁ hf₂
rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.iUnion hf₁),
Summable.hasSum_iff]
- · congr ; ext n; rw [if_pos (hf₁ n)]
+ · congr; ext n; rw [if_pos (hf₁ n)]
· refine' @summable_of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
- · intro ; split_ifs
- exacts[ENNReal.toReal_nonneg, le_rfl]
- · intro ; split_ifs
- exacts[le_rfl, ENNReal.toReal_nonneg]
+ · intro; split_ifs
+ exacts [ENNReal.toReal_nonneg, le_rfl]
+ · intro; split_ifs
+ exacts [le_rfl, ENNReal.toReal_nonneg]
exact summable_measure_to_real hf₁ hf₂
· intro a ha
apply ne_of_lt hμ.measure_univ_lt_top
@@ -483,7 +483,7 @@ theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i
-- Without this lemma, `singular_part_neg` in `measure_theory.decomposition.lebesgue` is
-- extremely slow
theorem toSignedMeasure_congr {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] (h : μ = ν) :
- μ.toSignedMeasure = ν.toSignedMeasure := by congr ; exact h
+ μ.toSignedMeasure = ν.toSignedMeasure := by congr; exact h
#align measure_theory.measure.to_signed_measure_congr MeasureTheory.Measure.toSignedMeasure_congr
-/
@@ -495,9 +495,9 @@ theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasu
· ext1 i hi
have : μ.to_signed_measure i = ν.to_signed_measure i := by rw [h]
rwa [to_signed_measure_apply_measurable hi, to_signed_measure_apply_measurable hi,
- ENNReal.toReal_eq_toReal] at this <;>
+ ENNReal.toReal_eq_toReal] at this <;>
· exact measure_ne_top _ _
- · congr ; assumption
+ · congr; assumption
#align measure_theory.measure.to_signed_measure_eq_to_signed_measure_iff MeasureTheory.Measure.toSignedMeasure_eq_toSignedMeasure_iff
-/
@@ -714,7 +714,7 @@ def mapRangeₗ (f : M →ₗ[R] N) (hf : Continuous f) : VectorMeasure α M →
where
toFun v := v.map_range f.toAddMonoidHom hf
map_add' _ _ := mapRange_add hf
- map_smul' := by intros ; ext; simp
+ map_smul' := by intros; ext; simp
#align measure_theory.vector_measure.map_rangeₗ MeasureTheory.VectorMeasure.mapRangeₗ
end Module
@@ -965,7 +965,7 @@ theorem le_restrict_univ_iff_le : v ≤[univ] w ↔ v ≤ w :=
· intro h s hs
have := h s hs
rwa [restrict_apply _ MeasurableSet.univ hs, inter_univ, restrict_apply _ MeasurableSet.univ hs,
- inter_univ] at this
+ inter_univ] at this
· intro h s hs
rw [restrict_apply _ MeasurableSet.univ hs, inter_univ, restrict_apply _ MeasurableSet.univ hs,
inter_univ]
@@ -1111,8 +1111,8 @@ theorem exists_pos_measure_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) :
∃ j : Set α, MeasurableSet j ∧ j ⊆ i ∧ 0 < v j :=
by
have hi₁ : MeasurableSet i := measurable_of_not_restrict_le_zero _ hi
- rw [restrict_le_restrict_iff _ _ hi₁] at hi
- push_neg at hi
+ rw [restrict_le_restrict_iff _ _ hi₁] at hi
+ push_neg at hi
obtain ⟨j, hj₁, hj₂, hj⟩ := hi
exact ⟨j, hj₁, hj₂, hj⟩
#align measure_theory.vector_measure.exists_pos_measure_of_not_restrict_le_zero MeasureTheory.VectorMeasure.exists_pos_measure_of_not_restrict_le_zero
@@ -1193,7 +1193,7 @@ theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [Topologica
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : v ≪ᵥ -w :=
by
intro s hs
- rw [neg_apply, neg_eq_zero] at hs
+ rw [neg_apply, neg_eq_zero] at hs
exact h hs
#align measure_theory.vector_measure.absolutely_continuous.neg_right MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_right
@@ -1215,7 +1215,7 @@ theorem map [MeasureSpace β] (h : v ≪ᵥ w) (f : α → β) : v.map f ≪ᵥ
by
by_cases hf : Measurable f
· refine' mk fun s hs hws => _
- rw [map_apply _ hf hs] at hws⊢
+ rw [map_apply _ hf hs] at hws ⊢
exact h hws
· intro s hs
rw [map_not_measurable v hf, zero_apply]
@@ -1229,7 +1229,7 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
rw [← hs, ennreal_to_measure_apply hmeas]
· intro s hs
by_cases hmeas : MeasurableSet s
- · rw [ennreal_to_measure_apply hmeas] at hs
+ · rw [ennreal_to_measure_apply hmeas] at hs
exact h hs
· exact not_measurable v hmeas
#align measure_theory.vector_measure.absolutely_continuous.ennreal_to_measure MeasureTheory.VectorMeasure.AbsolutelyContinuous.ennrealToMeasure
@@ -1290,7 +1290,7 @@ theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v
obtain ⟨v, hmv, hv₁, hv₂⟩ := h₂
refine' mk (u ∩ v) (hmu.inter hmv) (fun t ht hmt => _) fun t ht hmt => _
· rw [add_apply, hu₁ _ (subset_inter_iff.1 ht).1, hv₁ _ (subset_inter_iff.1 ht).2, zero_add]
- · rw [compl_inter] at ht
+ · rw [compl_inter] at ht
rw [(_ : t = uᶜ ∩ t ∪ vᶜ \ uᶜ ∩ t),
of_union _ (hmu.compl.inter hmt) ((hmv.compl.diff hmu.compl).inter hmt), hu₂, hv₂, add_zero]
· exact subset.trans (inter_subset_left _ _) (diff_subset _ _)
@@ -1301,7 +1301,7 @@ theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v
· by_cases hxu' : x ∈ uᶜ
· exact Or.inl ⟨hxu', hx⟩
rcases ht hx with (hxu | hxv)
- exacts[False.elim (hxu' hxu), Or.inr ⟨⟨hxv, hxu'⟩, hx⟩]
+ exacts [False.elim (hxu' hxu), Or.inr ⟨⟨hxv, hxu'⟩, hx⟩]
· rcases hx with ⟨⟩ <;> exact hx.2
#align measure_theory.vector_measure.mutually_singular.add_left MeasureTheory.VectorMeasure.MutuallySingular.add_left
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kexing Ying
! This file was ported from Lean 3 source module measure_theory.measure.vector_measure
-! leanprover-community/mathlib commit 70a4f2197832bceab57d7f41379b2592d1110570
+! leanprover-community/mathlib commit f60c6087a7275b72d5db3c5a1d0e19e35a429c0a
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Analysis.Complex.Basic
# Vector valued measures
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines vector valued measures, which are σ-additive functions from a set to a add monoid
`M` such that it maps the empty set and non-measurable sets to zero. In the case
that `M = ℝ`, we called the vector measure a signed measure and write `signed_measure α`.
@@ -54,6 +57,7 @@ namespace MeasureTheory
variable {α β : Type _} {m : MeasurableSpace α}
+#print MeasureTheory.VectorMeasure /-
/-- A vector measure on a measurable space `α` is a σ-additive `M`-valued function (for some `M`
an add monoid) such that the empty set and non-measurable sets are mapped to zero. -/
structure VectorMeasure (α : Type _) [MeasurableSpace α] (M : Type _) [AddCommMonoid M]
@@ -61,20 +65,25 @@ structure VectorMeasure (α : Type _) [MeasurableSpace α] (M : Type _) [AddComm
measureOf' : Set α → M
empty' : measure_of' ∅ = 0
not_measurable' ⦃i : Set α⦄ : ¬MeasurableSet i → measure_of' i = 0
- m_Union' ⦃f : ℕ → Set α⦄ :
+ m_iUnion' ⦃f : ℕ → Set α⦄ :
(∀ i, MeasurableSet (f i)) →
Pairwise (Disjoint on f) → HasSum (fun i => measure_of' (f i)) (measure_of' (⋃ i, f i))
#align measure_theory.vector_measure MeasureTheory.VectorMeasure
+-/
+#print MeasureTheory.SignedMeasure /-
/-- A `signed_measure` is a `ℝ`-vector measure. -/
abbrev SignedMeasure (α : Type _) [MeasurableSpace α] :=
VectorMeasure α ℝ
#align measure_theory.signed_measure MeasureTheory.SignedMeasure
+-/
+#print MeasureTheory.ComplexMeasure /-
/-- A `complex_measure` is a `ℂ`-vector_measure. -/
abbrev ComplexMeasure (α : Type _) [MeasurableSpace α] :=
VectorMeasure α ℂ
#align measure_theory.complex_measure MeasureTheory.ComplexMeasure
+-/
open Set MeasureTheory
@@ -107,7 +116,7 @@ theorem not_measurable (v : VectorMeasure α M) {i : Set α} (hi : ¬MeasurableS
theorem m_iUnion (v : VectorMeasure α M) {f : ℕ → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : HasSum (fun i => v (f i)) (v (⋃ i, f i)) :=
- v.m_Union' hf₁ hf₂
+ v.m_iUnion' hf₁ hf₂
#align measure_theory.vector_measure.m_Union MeasureTheory.VectorMeasure.m_iUnion
theorem of_disjoint_iUnion_nat [T2Space M] (v : VectorMeasure α M) {f : ℕ → Set α}
@@ -116,9 +125,11 @@ theorem of_disjoint_iUnion_nat [T2Space M] (v : VectorMeasure α M) {f : ℕ →
(v.m_iUnion hf₁ hf₂).tsum_eq.symm
#align measure_theory.vector_measure.of_disjoint_Union_nat MeasureTheory.VectorMeasure.of_disjoint_iUnion_nat
+#print MeasureTheory.VectorMeasure.coe_injective /-
theorem coe_injective : @Function.Injective (VectorMeasure α M) (Set α → M) coeFn := fun v w h => by
cases v; cases w; congr
#align measure_theory.vector_measure.coe_injective MeasureTheory.VectorMeasure.coe_injective
+-/
theorem ext_iff' (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, v i = w i := by
rw [← coe_injective.eq_iff, Function.funext_iff]
@@ -270,7 +281,7 @@ def smul (r : R) (v : VectorMeasure α M) : VectorMeasure α M
measureOf' := r • v
empty' := by rw [Pi.smul_apply, Empty, smul_zero]
not_measurable' _ hi := by rw [Pi.smul_apply, v.not_measurable hi, smul_zero]
- m_Union' _ hf₁ hf₂ := HasSum.const_smul _ (v.m_iUnion hf₁ hf₂)
+ m_iUnion' _ hf₁ hf₂ := HasSum.const_smul _ (v.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.smul MeasureTheory.VectorMeasure.smul
instance : SMul R (VectorMeasure α M) :=
@@ -316,7 +327,7 @@ def add (v w : VectorMeasure α M) : VectorMeasure α M
measureOf' := v + w
empty' := by simp
not_measurable' _ hi := by simp [v.not_measurable hi, w.not_measurable hi]
- m_Union' f hf₁ hf₂ := HasSum.add (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
+ m_iUnion' f hf₁ hf₂ := HasSum.add (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.add MeasureTheory.VectorMeasure.add
instance : Add (VectorMeasure α M) :=
@@ -351,14 +362,16 @@ variable {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup
include m
+#print MeasureTheory.VectorMeasure.neg /-
/-- The negative of a vector measure is a vector measure. -/
def neg (v : VectorMeasure α M) : VectorMeasure α M
where
measureOf' := -v
empty' := by simp
not_measurable' _ hi := by simp [v.not_measurable hi]
- m_Union' f hf₁ hf₂ := HasSum.neg <| v.m_iUnion hf₁ hf₂
+ m_iUnion' f hf₁ hf₂ := HasSum.neg <| v.m_iUnion hf₁ hf₂
#align measure_theory.vector_measure.neg MeasureTheory.VectorMeasure.neg
+-/
instance : Neg (VectorMeasure α M) :=
⟨neg⟩
@@ -372,14 +385,16 @@ theorem neg_apply (v : VectorMeasure α M) (i : Set α) : (-v) i = -v i :=
rfl
#align measure_theory.vector_measure.neg_apply MeasureTheory.VectorMeasure.neg_apply
+#print MeasureTheory.VectorMeasure.sub /-
/-- The difference of two vector measure is a vector measure. -/
def sub (v w : VectorMeasure α M) : VectorMeasure α M
where
measureOf' := v - w
empty' := by simp
not_measurable' _ hi := by simp [v.not_measurable hi, w.not_measurable hi]
- m_Union' f hf₁ hf₂ := HasSum.sub (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
+ m_iUnion' f hf₁ hf₂ := HasSum.sub (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.sub MeasureTheory.VectorMeasure.sub
+-/
instance : Sub (VectorMeasure α M) :=
⟨sub⟩
@@ -431,6 +446,7 @@ namespace Measure
include m
+#print MeasureTheory.Measure.toSignedMeasure /-
/-- A finite measure coerced into a real function is a signed measure. -/
@[simps]
def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure α
@@ -438,7 +454,7 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
measureOf' := fun i : Set α => if MeasurableSet i then (μ.measureOf i).toReal else 0
empty' := by simp [μ.empty]
not_measurable' _ hi := if_neg hi
- m_Union' := by
+ m_iUnion' := by
intro _ hf₁ hf₂
rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.iUnion hf₁),
Summable.hasSum_iff]
@@ -454,18 +470,24 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
rw [eq_top_iff, ← ha, outer_measure.measure_of_eq_coe, coe_to_outer_measure]
exact measure_mono (Set.subset_univ _)
#align measure_theory.measure.to_signed_measure MeasureTheory.Measure.toSignedMeasure
+-/
+#print MeasureTheory.Measure.toSignedMeasure_apply_measurable /-
theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i : Set α}
(hi : MeasurableSet i) : μ.toSignedMeasure i = (μ i).toReal :=
if_pos hi
#align measure_theory.measure.to_signed_measure_apply_measurable MeasureTheory.Measure.toSignedMeasure_apply_measurable
+-/
+#print MeasureTheory.Measure.toSignedMeasure_congr /-
-- Without this lemma, `singular_part_neg` in `measure_theory.decomposition.lebesgue` is
-- extremely slow
theorem toSignedMeasure_congr {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] (h : μ = ν) :
μ.toSignedMeasure = ν.toSignedMeasure := by congr ; exact h
#align measure_theory.measure.to_signed_measure_congr MeasureTheory.Measure.toSignedMeasure_congr
+-/
+#print MeasureTheory.Measure.toSignedMeasure_eq_toSignedMeasure_iff /-
theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasure μ]
[FiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν :=
by
@@ -477,11 +499,15 @@ theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasu
· exact measure_ne_top _ _
· congr ; assumption
#align measure_theory.measure.to_signed_measure_eq_to_signed_measure_iff MeasureTheory.Measure.toSignedMeasure_eq_toSignedMeasure_iff
+-/
+#print MeasureTheory.Measure.toSignedMeasure_zero /-
@[simp]
theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by ext (i hi); simp
#align measure_theory.measure.to_signed_measure_zero MeasureTheory.Measure.toSignedMeasure_zero
+-/
+#print MeasureTheory.Measure.toSignedMeasure_add /-
@[simp]
theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasure ν] :
(μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure :=
@@ -493,6 +519,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasu
to_signed_measure_apply_measurable hi]
all_goals infer_instance
#align measure_theory.measure.to_signed_measure_add MeasureTheory.Measure.toSignedMeasure_add
+-/
@[simp]
theorem toSignedMeasure_smul (μ : Measure α) [FiniteMeasure μ] (r : ℝ≥0) :
@@ -510,16 +537,18 @@ def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
measureOf' := fun i : Set α => if MeasurableSet i then μ i else 0
empty' := by simp [μ.empty]
not_measurable' _ hi := if_neg hi
- m_Union' _ hf₁ hf₂ := by
+ m_iUnion' _ hf₁ hf₂ := by
rw [Summable.hasSum_iff ENNReal.summable]
· rw [if_pos (MeasurableSet.iUnion hf₁), MeasureTheory.measure_iUnion hf₂ hf₁]
exact tsum_congr fun n => if_pos (hf₁ n)
#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toEnnrealVectorMeasure
+#print MeasureTheory.Measure.toEnnrealVectorMeasure_apply_measurable /-
theorem toEnnrealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (hi : MeasurableSet i) :
μ.toEnnrealVectorMeasure i = μ i :=
if_pos hi
#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toEnnrealVectorMeasure_apply_measurable
+-/
@[simp]
theorem toEnnrealVectorMeasure_zero : (0 : Measure α).toEnnrealVectorMeasure = 0 := by ext (i hi);
@@ -586,19 +615,21 @@ variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
variable (v : VectorMeasure α M)
+#print MeasureTheory.VectorMeasure.map /-
/-- The pushforward of a vector measure along a function. -/
def map (v : VectorMeasure α M) (f : α → β) : VectorMeasure β M :=
if hf : Measurable f then
{ measureOf' := fun s => if MeasurableSet s then v (f ⁻¹' s) else 0
empty' := by simp
not_measurable' := fun i hi => if_neg hi
- m_Union' := by
+ m_iUnion' := by
intro g hg₁ hg₂
convert v.m_Union (fun i => hf (hg₁ i)) fun i j hij => (hg₂ hij).Preimage _
· ext i; rw [if_pos (hg₁ i)]
· rw [preimage_Union, if_pos (MeasurableSet.iUnion hg₁)] }
else 0
#align measure_theory.vector_measure.map MeasureTheory.VectorMeasure.map
+-/
theorem map_not_measurable {f : α → β} (hf : ¬Measurable f) : v.map f = 0 :=
dif_neg hf
@@ -633,7 +664,7 @@ def mapRange (v : VectorMeasure α M) (f : M →+ N) (hf : Continuous f) : Vecto
measureOf' s := f (v s)
empty' := by rw [Empty, AddMonoidHom.map_zero]
not_measurable' i hi := by rw [not_measurable v hi, AddMonoidHom.map_zero]
- m_Union' g hg₁ hg₂ := HasSum.map (v.m_iUnion hg₁ hg₂) f hf
+ m_iUnion' g hg₁ hg₂ := HasSum.map (v.m_iUnion hg₁ hg₂) f hf
#align measure_theory.vector_measure.map_range MeasureTheory.VectorMeasure.mapRange
@[simp]
@@ -690,13 +721,14 @@ end Module
end
+#print MeasureTheory.VectorMeasure.restrict /-
/-- The restriction of a vector measure on some set. -/
def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
if hi : MeasurableSet i then
{ measureOf' := fun s => if MeasurableSet s then v (s ∩ i) else 0
empty' := by simp
not_measurable' := fun i hi => if_neg hi
- m_Union' := by
+ m_iUnion' := by
intro f hf₁ hf₂
convert v.m_Union (fun n => (hf₁ n).inter hi)
(hf₂.mono fun i j => Disjoint.mono inf_le_left inf_le_left)
@@ -704,6 +736,7 @@ def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
· rw [Union_inter, if_pos (MeasurableSet.iUnion hf₁)] }
else 0
#align measure_theory.vector_measure.restrict MeasureTheory.VectorMeasure.restrict
+-/
theorem restrict_not_measurable {i : Set α} (hi : ¬MeasurableSet i) : v.restrict i = 0 :=
dif_neg hi
@@ -1109,11 +1142,13 @@ variable [AddCommMonoid L] [TopologicalSpace L] [AddCommMonoid M] [TopologicalSp
include m
+#print MeasureTheory.VectorMeasure.AbsolutelyContinuous /-
/-- A vector measure `v` is absolutely continuous with respect to a measure `μ` if for all sets
`s`, `μ s = 0`, we have `v s = 0`. -/
def AbsolutelyContinuous (v : VectorMeasure α M) (w : VectorMeasure α N) :=
∀ ⦃s : Set α⦄, w s = 0 → v s = 0
#align measure_theory.vector_measure.absolutely_continuous MeasureTheory.VectorMeasure.AbsolutelyContinuous
+-/
-- mathport name: vector_measure.absolutely_continuous
scoped[MeasureTheory] infixl:50 " ≪ᵥ " => MeasureTheory.VectorMeasure.AbsolutelyContinuous
@@ -1149,18 +1184,18 @@ theorem zero (v : VectorMeasure α N) : (0 : VectorMeasure α M) ≪ᵥ v := fun
VectorMeasure.zero_apply s
#align measure_theory.vector_measure.absolutely_continuous.zero MeasureTheory.VectorMeasure.AbsolutelyContinuous.zero
-theorem negLeft {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : -v ≪ᵥ w := fun s hs => by
rw [neg_apply, h hs, neg_zero]
-#align measure_theory.vector_measure.absolutely_continuous.neg_left MeasureTheory.VectorMeasure.AbsolutelyContinuous.negLeft
+#align measure_theory.vector_measure.absolutely_continuous.neg_left MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_left
-theorem negRight {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
+theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : v ≪ᵥ -w :=
by
intro s hs
rw [neg_apply, neg_eq_zero] at hs
exact h hs
-#align measure_theory.vector_measure.absolutely_continuous.neg_right MeasureTheory.VectorMeasure.AbsolutelyContinuous.negRight
+#align measure_theory.vector_measure.absolutely_continuous.neg_right MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_right
theorem add [ContinuousAdd M] {v₁ v₂ : VectorMeasure α M} {w : VectorMeasure α N} (hv₁ : v₁ ≪ᵥ w)
(hv₂ : v₂ ≪ᵥ w) : v₁ + v₂ ≪ᵥ w := fun s hs => by rw [add_apply, hv₁ hs, hv₂ hs, zero_add]
@@ -1203,6 +1238,7 @@ end AbsolutelyContinuous
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+#print MeasureTheory.VectorMeasure.MutuallySingular /-
/-- Two vector measures `v` and `w` are said to be mutually singular if there exists a measurable
set `s`, such that for all `t ⊆ s`, `v t = 0` and for all `t ⊆ sᶜ`, `w t = 0`.
@@ -1213,6 +1249,7 @@ to use. This is equivalent to the definition which requires measurability. To pr
def MutuallySingular (v : VectorMeasure α M) (w : VectorMeasure α N) : Prop :=
∃ s : Set α, MeasurableSet s ∧ (∀ (t) (_ : t ⊆ s), v t = 0) ∧ ∀ (t) (_ : t ⊆ sᶜ), w t = 0
#align measure_theory.vector_measure.mutually_singular MeasureTheory.VectorMeasure.MutuallySingular
+-/
-- mathport name: vector_measure.mutually_singular
scoped[MeasureTheory] infixl:60 " ⟂ᵥ " => MeasureTheory.VectorMeasure.MutuallySingular
@@ -1238,16 +1275,16 @@ theorem symm (h : v ⟂ᵥ w) : w ⟂ᵥ v :=
⟨sᶜ, hmeas.compl, hs₂, fun t ht => hs₁ _ (compl_compl s ▸ ht : t ⊆ s)⟩
#align measure_theory.vector_measure.mutually_singular.symm MeasureTheory.VectorMeasure.MutuallySingular.symm
-theorem zeroRight : v ⟂ᵥ (0 : VectorMeasure α N) :=
+theorem zero_right : v ⟂ᵥ (0 : VectorMeasure α N) :=
⟨∅, MeasurableSet.empty, fun t ht => (subset_empty_iff.1 ht).symm ▸ v.Empty, fun _ _ =>
zero_apply _⟩
-#align measure_theory.vector_measure.mutually_singular.zero_right MeasureTheory.VectorMeasure.MutuallySingular.zeroRight
+#align measure_theory.vector_measure.mutually_singular.zero_right MeasureTheory.VectorMeasure.MutuallySingular.zero_right
-theorem zeroLeft : (0 : VectorMeasure α M) ⟂ᵥ w :=
- zeroRight.symm
-#align measure_theory.vector_measure.mutually_singular.zero_left MeasureTheory.VectorMeasure.MutuallySingular.zeroLeft
+theorem zero_left : (0 : VectorMeasure α M) ⟂ᵥ w :=
+ zero_right.symm
+#align measure_theory.vector_measure.mutually_singular.zero_left MeasureTheory.VectorMeasure.MutuallySingular.zero_left
-theorem addLeft [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v₂ ⟂ᵥ w) : v₁ + v₂ ⟂ᵥ w :=
+theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v₂ ⟂ᵥ w) : v₁ + v₂ ⟂ᵥ w :=
by
obtain ⟨u, hmu, hu₁, hu₂⟩ := h₁
obtain ⟨v, hmv, hv₁, hv₂⟩ := h₂
@@ -1266,47 +1303,47 @@ theorem addLeft [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v
rcases ht hx with (hxu | hxv)
exacts[False.elim (hxu' hxu), Or.inr ⟨⟨hxv, hxu'⟩, hx⟩]
· rcases hx with ⟨⟩ <;> exact hx.2
-#align measure_theory.vector_measure.mutually_singular.add_left MeasureTheory.VectorMeasure.MutuallySingular.addLeft
+#align measure_theory.vector_measure.mutually_singular.add_left MeasureTheory.VectorMeasure.MutuallySingular.add_left
-theorem addRight [T2Space M] [ContinuousAdd N] (h₁ : v ⟂ᵥ w₁) (h₂ : v ⟂ᵥ w₂) : v ⟂ᵥ w₁ + w₂ :=
- (addLeft h₁.symm h₂.symm).symm
-#align measure_theory.vector_measure.mutually_singular.add_right MeasureTheory.VectorMeasure.MutuallySingular.addRight
+theorem add_right [T2Space M] [ContinuousAdd N] (h₁ : v ⟂ᵥ w₁) (h₂ : v ⟂ᵥ w₂) : v ⟂ᵥ w₁ + w₂ :=
+ (add_left h₁.symm h₂.symm).symm
+#align measure_theory.vector_measure.mutually_singular.add_right MeasureTheory.VectorMeasure.MutuallySingular.add_right
-theorem smulRight {R : Type _} [Semiring R] [DistribMulAction R N] [ContinuousConstSMul R N] (r : R)
- (h : v ⟂ᵥ w) : v ⟂ᵥ r • w :=
+theorem smul_right {R : Type _} [Semiring R] [DistribMulAction R N] [ContinuousConstSMul R N]
+ (r : R) (h : v ⟂ᵥ w) : v ⟂ᵥ r • w :=
let ⟨s, hmeas, hs₁, hs₂⟩ := h
⟨s, hmeas, hs₁, fun t ht => by simp only [coe_smul, Pi.smul_apply, hs₂ t ht, smul_zero]⟩
-#align measure_theory.vector_measure.mutually_singular.smul_right MeasureTheory.VectorMeasure.MutuallySingular.smulRight
+#align measure_theory.vector_measure.mutually_singular.smul_right MeasureTheory.VectorMeasure.MutuallySingular.smul_right
-theorem smulLeft {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] (r : R)
+theorem smul_left {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] (r : R)
(h : v ⟂ᵥ w) : r • v ⟂ᵥ w :=
- (smulRight r h.symm).symm
-#align measure_theory.vector_measure.mutually_singular.smul_left MeasureTheory.VectorMeasure.MutuallySingular.smulLeft
+ (smul_right r h.symm).symm
+#align measure_theory.vector_measure.mutually_singular.smul_left MeasureTheory.VectorMeasure.MutuallySingular.smul_left
-theorem negLeft {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ⟂ᵥ w) : -v ⟂ᵥ w :=
by
obtain ⟨u, hmu, hu₁, hu₂⟩ := h
refine' ⟨u, hmu, fun s hs => _, hu₂⟩
rw [neg_apply v s, neg_eq_zero]
exact hu₁ s hs
-#align measure_theory.vector_measure.mutually_singular.neg_left MeasureTheory.VectorMeasure.MutuallySingular.negLeft
+#align measure_theory.vector_measure.mutually_singular.neg_left MeasureTheory.VectorMeasure.MutuallySingular.neg_left
-theorem negRight {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
+theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ⟂ᵥ w) : v ⟂ᵥ -w :=
h.symm.neg_left.symm
-#align measure_theory.vector_measure.mutually_singular.neg_right MeasureTheory.VectorMeasure.MutuallySingular.negRight
+#align measure_theory.vector_measure.mutually_singular.neg_right MeasureTheory.VectorMeasure.MutuallySingular.neg_right
@[simp]
theorem neg_left_iff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} : -v ⟂ᵥ w ↔ v ⟂ᵥ w :=
- ⟨fun h => neg_neg v ▸ h.neg_left, negLeft⟩
+ ⟨fun h => neg_neg v ▸ h.neg_left, neg_left⟩
#align measure_theory.vector_measure.mutually_singular.neg_left_iff MeasureTheory.VectorMeasure.MutuallySingular.neg_left_iff
@[simp]
theorem neg_right_iff {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} : v ⟂ᵥ -w ↔ v ⟂ᵥ w :=
- ⟨fun h => neg_neg w ▸ h.neg_right, negRight⟩
+ ⟨fun h => neg_neg w ▸ h.neg_right, neg_right⟩
#align measure_theory.vector_measure.mutually_singular.neg_right_iff MeasureTheory.VectorMeasure.MutuallySingular.neg_right_iff
end MutuallySingular
@@ -1315,6 +1352,7 @@ section Trim
omit m
+#print MeasureTheory.VectorMeasure.trim /-
/-- Restriction of a vector measure onto a sub-σ-algebra. -/
@[simps]
def trim {m n : MeasurableSpace α} (v : VectorMeasure α M) (hle : m ≤ n) : @VectorMeasure α m M _ _
@@ -1322,13 +1360,14 @@ def trim {m n : MeasurableSpace α} (v : VectorMeasure α M) (hle : m ≤ n) : @
measureOf' i := if measurable_set[m] i then v i else 0
empty' := by rw [if_pos MeasurableSet.empty, v.empty]
not_measurable' i hi := by rw [if_neg hi]
- m_Union' f hf₁ hf₂ :=
+ m_iUnion' f hf₁ hf₂ :=
by
have hf₁' : ∀ k, measurable_set[n] (f k) := fun k => hle _ (hf₁ k)
convert v.m_Union hf₁' hf₂
· ext n; rw [if_pos (hf₁ n)]
· rw [if_pos (@MeasurableSet.iUnion _ _ m _ _ hf₁)]
#align measure_theory.vector_measure.trim MeasureTheory.VectorMeasure.trim
+-/
variable {n : MeasurableSpace α} {v : VectorMeasure α M}
@@ -1372,16 +1411,16 @@ open scoped MeasureTheory
include m
/-- The underlying function for `signed_measure.to_measure_of_zero_le`. -/
-def toMeasureOfZeroLe' (s : SignedMeasure α) (i : Set α) (hi : 0 ≤[i] s) (j : Set α)
+def toMeasureOfZeroLE' (s : SignedMeasure α) (i : Set α) (hi : 0 ≤[i] s) (j : Set α)
(hj : MeasurableSet j) : ℝ≥0∞ :=
@coe ℝ≥0 ℝ≥0∞ _ ⟨s.restrict i j, le_trans (by simp) (hi j hj)⟩
-#align measure_theory.signed_measure.to_measure_of_zero_le' MeasureTheory.SignedMeasure.toMeasureOfZeroLe'
+#align measure_theory.signed_measure.to_measure_of_zero_le' MeasureTheory.SignedMeasure.toMeasureOfZeroLE'
/-- Given a signed measure `s` and a positive measurable set `i`, `to_measure_of_zero_le`
provides the measure, mapping measurable sets `j` to `s (i ∩ j)`. -/
-def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : 0 ≤[i] s) :
+def toMeasureOfZeroLE (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : 0 ≤[i] s) :
Measure α :=
- Measure.ofMeasurable (s.toMeasureOfZeroLe' i hi₂)
+ Measure.ofMeasurable (s.toMeasureOfZeroLE' i hi₂)
(by
simp_rw [to_measure_of_zero_le', s.restrict_apply hi₁ MeasurableSet.empty, Set.empty_inter i,
s.empty]
@@ -1402,12 +1441,12 @@ def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
· refine' tsum_congr fun n => _
simp_rw [s.restrict_apply hi₁ (hf₁ n), Set.inter_comm]
· exact (NNReal.summable_mk h).2 (s.m_Union h₁ h₂).Summable)
-#align measure_theory.signed_measure.to_measure_of_zero_le MeasureTheory.SignedMeasure.toMeasureOfZeroLe
+#align measure_theory.signed_measure.to_measure_of_zero_le MeasureTheory.SignedMeasure.toMeasureOfZeroLE
variable (s : SignedMeasure α) {i j : Set α}
-theorem toMeasureOfZeroLe_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
- s.toMeasureOfZeroLe i hi₁ hi j =
+theorem toMeasureOfZeroLE_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
+ s.toMeasureOfZeroLE i hi₁ hi j =
@coe ℝ≥0 ℝ≥0∞ _
⟨s (i ∩ j),
nonneg_of_zero_le_restrict s
@@ -1415,17 +1454,17 @@ theorem toMeasureOfZeroLe_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj
by
simp_rw [to_measure_of_zero_le, measure.of_measurable_apply _ hj₁, to_measure_of_zero_le',
s.restrict_apply hi₁ hj₁, Set.inter_comm]
-#align measure_theory.signed_measure.to_measure_of_zero_le_apply MeasureTheory.SignedMeasure.toMeasureOfZeroLe_apply
+#align measure_theory.signed_measure.to_measure_of_zero_le_apply MeasureTheory.SignedMeasure.toMeasureOfZeroLE_apply
/-- Given a signed measure `s` and a negative measurable set `i`, `to_measure_of_le_zero`
provides the measure, mapping measurable sets `j` to `-s (i ∩ j)`. -/
-def toMeasureOfLeZero (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : s ≤[i] 0) :
+def toMeasureOfLEZero (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : s ≤[i] 0) :
Measure α :=
- toMeasureOfZeroLe (-s) i hi₁ <| @neg_zero (VectorMeasure α ℝ) _ ▸ neg_le_neg _ _ hi₁ hi₂
-#align measure_theory.signed_measure.to_measure_of_le_zero MeasureTheory.SignedMeasure.toMeasureOfLeZero
+ toMeasureOfZeroLE (-s) i hi₁ <| @neg_zero (VectorMeasure α ℝ) _ ▸ neg_le_neg _ _ hi₁ hi₂
+#align measure_theory.signed_measure.to_measure_of_le_zero MeasureTheory.SignedMeasure.toMeasureOfLEZero
-theorem toMeasureOfLeZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
- s.toMeasureOfLeZero i hi₁ hi j =
+theorem toMeasureOfLEZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
+ s.toMeasureOfLEZero i hi₁ hi j =
@coe ℝ≥0 ℝ≥0∞ _
⟨-s (i ∩ j),
neg_apply s (i ∩ j) ▸
@@ -1436,39 +1475,39 @@ theorem toMeasureOfLeZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj
erw [to_measure_of_zero_le_apply]
· simp
· assumption
-#align measure_theory.signed_measure.to_measure_of_le_zero_apply MeasureTheory.SignedMeasure.toMeasureOfLeZero_apply
+#align measure_theory.signed_measure.to_measure_of_le_zero_apply MeasureTheory.SignedMeasure.toMeasureOfLEZero_apply
/-- `signed_measure.to_measure_of_zero_le` is a finite measure. -/
-instance toMeasureOfZeroLe_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfZeroLe i hi₁ hi)
+instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
+ FiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_zero_le_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
-#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLe_finite
+#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLE_finite
/-- `signed_measure.to_measure_of_le_zero` is a finite measure. -/
-instance toMeasureOfLeZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfLeZero i hi₁ hi)
+instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
+ FiniteMeasure (s.toMeasureOfLEZero i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_le_zero_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
-#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLeZero_finite
+#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLEZero_finite
-theorem toMeasureOfZeroLe_toSignedMeasure (hs : 0 ≤[univ] s) :
- (s.toMeasureOfZeroLe univ MeasurableSet.univ hs).toSignedMeasure = s :=
+theorem toMeasureOfZeroLE_toSignedMeasure (hs : 0 ≤[univ] s) :
+ (s.toMeasureOfZeroLE univ MeasurableSet.univ hs).toSignedMeasure = s :=
by
ext (i hi)
simp [measure.to_signed_measure_apply_measurable hi, to_measure_of_zero_le_apply _ _ _ hi]
-#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLe_toSignedMeasure
+#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLE_toSignedMeasure
-theorem toMeasureOfLeZero_toSignedMeasure (hs : s ≤[univ] 0) :
- (s.toMeasureOfLeZero univ MeasurableSet.univ hs).toSignedMeasure = -s :=
+theorem toMeasureOfLEZero_toSignedMeasure (hs : s ≤[univ] 0) :
+ (s.toMeasureOfLEZero univ MeasurableSet.univ hs).toSignedMeasure = -s :=
by
ext (i hi)
simp [measure.to_signed_measure_apply_measurable hi, to_measure_of_le_zero_apply _ _ _ hi]
-#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLeZero_toSignedMeasure
+#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLEZero_toSignedMeasure
end SignedMeasure
@@ -1486,8 +1525,9 @@ theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure :=
ENNReal.toReal_nonneg, vector_measure.coe_zero]
#align measure_theory.measure.zero_le_to_signed_measure MeasureTheory.Measure.zero_le_toSignedMeasure
-theorem toSignedMeasure_toMeasureOfZeroLe :
- μ.toSignedMeasure.toMeasureOfZeroLe univ MeasurableSet.univ
+#print MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLE /-
+theorem toSignedMeasure_toMeasureOfZeroLE :
+ μ.toSignedMeasure.toMeasureOfZeroLE univ MeasurableSet.univ
((le_restrict_univ_iff_le _ _).2 (zero_le_toSignedMeasure μ)) =
μ :=
by
@@ -1495,7 +1535,8 @@ theorem toSignedMeasure_toMeasureOfZeroLe :
lift μ i to ℝ≥0 using (measure_lt_top _ _).Ne with m hm
simp [signed_measure.to_measure_of_zero_le_apply _ _ _ hi,
measure.to_signed_measure_apply_measurable hi, ← hm]
-#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLe
+#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLE
+-/
end Measure
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -48,7 +48,7 @@ vector measure, signed measure, complex measure
noncomputable section
-open Classical BigOperators NNReal ENNReal MeasureTheory
+open scoped Classical BigOperators NNReal ENNReal MeasureTheory
namespace MeasureTheory
@@ -1118,7 +1118,7 @@ def AbsolutelyContinuous (v : VectorMeasure α M) (w : VectorMeasure α N) :=
-- mathport name: vector_measure.absolutely_continuous
scoped[MeasureTheory] infixl:50 " ≪ᵥ " => MeasureTheory.VectorMeasure.AbsolutelyContinuous
-open MeasureTheory
+open scoped MeasureTheory
namespace AbsolutelyContinuous
@@ -1367,7 +1367,7 @@ namespace SignedMeasure
open VectorMeasure
-open MeasureTheory
+open scoped MeasureTheory
include m
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -116,11 +116,8 @@ theorem of_disjoint_iUnion_nat [T2Space M] (v : VectorMeasure α M) {f : ℕ →
(v.m_iUnion hf₁ hf₂).tsum_eq.symm
#align measure_theory.vector_measure.of_disjoint_Union_nat MeasureTheory.VectorMeasure.of_disjoint_iUnion_nat
-theorem coe_injective : @Function.Injective (VectorMeasure α M) (Set α → M) coeFn := fun v w h =>
- by
- cases v
- cases w
- congr
+theorem coe_injective : @Function.Injective (VectorMeasure α M) (Set α → M) coeFn := fun v w h => by
+ cases v; cases w; congr
#align measure_theory.vector_measure.coe_injective MeasureTheory.VectorMeasure.coe_injective
theorem ext_iff' (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, v i = w i := by
@@ -130,8 +127,7 @@ theorem ext_iff' (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, v i = w
theorem ext_iff (v w : VectorMeasure α M) : v = w ↔ ∀ i : Set α, MeasurableSet i → v i = w i :=
by
constructor
- · rintro rfl _ _
- rfl
+ · rintro rfl _ _; rfl
· rw [ext_iff']
intro h i
by_cases hi : MeasurableSet i
@@ -158,12 +154,8 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
rw [hg, Encodable.iUnion_decode₂] at this
have hg₃ : (fun i : β => v (f i)) = fun i => v (g (Encodable.encode i)) :=
by
- ext
- rw [hg]
- simp only
- congr
- ext y
- simp only [exists_prop, mem_Union, Option.mem_def]
+ ext; rw [hg]; simp only
+ congr ; ext y; simp only [exists_prop, mem_Union, Option.mem_def]
constructor
· intro hy
refine' ⟨x, (Encodable.decode₂_is_partial_inv _ _).2 rfl, hy⟩
@@ -172,8 +164,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
rwa [← Encodable.encode_injective hb₁]
rw [Summable.hasSum_iff, this, ← tsum_iUnion_decode₂]
· exact v.empty
- · rw [hg₃]
- change Summable ((fun i => v (g i)) ∘ Encodable.encode)
+ · rw [hg₃]; change Summable ((fun i => v (g i)) ∘ Encodable.encode)
rw [Function.Injective.summable_iff Encodable.encode_injective]
· exact (v.m_Union hg₁ hg₂).Summable
· intro x hx
@@ -451,15 +442,11 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
intro _ hf₁ hf₂
rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.iUnion hf₁),
Summable.hasSum_iff]
- · congr
- ext n
- rw [if_pos (hf₁ n)]
+ · congr ; ext n; rw [if_pos (hf₁ n)]
· refine' @summable_of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
- · intro
- split_ifs
+ · intro ; split_ifs
exacts[ENNReal.toReal_nonneg, le_rfl]
- · intro
- split_ifs
+ · intro ; split_ifs
exacts[le_rfl, ENNReal.toReal_nonneg]
exact summable_measure_to_real hf₁ hf₂
· intro a ha
@@ -476,9 +463,7 @@ theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i
-- Without this lemma, `singular_part_neg` in `measure_theory.decomposition.lebesgue` is
-- extremely slow
theorem toSignedMeasure_congr {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] (h : μ = ν) :
- μ.toSignedMeasure = ν.toSignedMeasure := by
- congr
- exact h
+ μ.toSignedMeasure = ν.toSignedMeasure := by congr ; exact h
#align measure_theory.measure.to_signed_measure_congr MeasureTheory.Measure.toSignedMeasure_congr
theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasure μ]
@@ -490,15 +475,11 @@ theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasu
rwa [to_signed_measure_apply_measurable hi, to_signed_measure_apply_measurable hi,
ENNReal.toReal_eq_toReal] at this <;>
· exact measure_ne_top _ _
- · congr
- assumption
+ · congr ; assumption
#align measure_theory.measure.to_signed_measure_eq_to_signed_measure_iff MeasureTheory.Measure.toSignedMeasure_eq_toSignedMeasure_iff
@[simp]
-theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 :=
- by
- ext (i hi)
- simp
+theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by ext (i hi); simp
#align measure_theory.measure.to_signed_measure_zero MeasureTheory.Measure.toSignedMeasure_zero
@[simp]
@@ -541,9 +522,7 @@ theorem toEnnrealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (
#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toEnnrealVectorMeasure_apply_measurable
@[simp]
-theorem toEnnrealVectorMeasure_zero : (0 : Measure α).toEnnrealVectorMeasure = 0 :=
- by
- ext (i hi)
+theorem toEnnrealVectorMeasure_zero : (0 : Measure α).toEnnrealVectorMeasure = 0 := by ext (i hi);
simp
#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toEnnrealVectorMeasure_zero
@@ -616,8 +595,7 @@ def map (v : VectorMeasure α M) (f : α → β) : VectorMeasure β M :=
m_Union' := by
intro g hg₁ hg₂
convert v.m_Union (fun i => hf (hg₁ i)) fun i j hij => (hg₂ hij).Preimage _
- · ext i
- rw [if_pos (hg₁ i)]
+ · ext i; rw [if_pos (hg₁ i)]
· rw [preimage_Union, if_pos (MeasurableSet.iUnion hg₁)] }
else 0
#align measure_theory.vector_measure.map MeasureTheory.VectorMeasure.map
@@ -627,9 +605,7 @@ theorem map_not_measurable {f : α → β} (hf : ¬Measurable f) : v.map f = 0 :
#align measure_theory.vector_measure.map_not_measurable MeasureTheory.VectorMeasure.map_not_measurable
theorem map_apply {f : α → β} (hf : Measurable f) {s : Set β} (hs : MeasurableSet s) :
- v.map f s = v (f ⁻¹' s) := by
- rw [map, dif_pos hf]
- exact if_pos hs
+ v.map f s = v (f ⁻¹' s) := by rw [map, dif_pos hf]; exact if_pos hs
#align measure_theory.vector_measure.map_apply MeasureTheory.VectorMeasure.map_apply
@[simp]
@@ -667,18 +643,12 @@ theorem mapRange_apply {f : M →+ N} (hf : Continuous f) {s : Set α} :
#align measure_theory.vector_measure.map_range_apply MeasureTheory.VectorMeasure.mapRange_apply
@[simp]
-theorem mapRange_id : v.map_range (AddMonoidHom.id M) continuous_id = v :=
- by
- ext
- rfl
+theorem mapRange_id : v.map_range (AddMonoidHom.id M) continuous_id = v := by ext; rfl
#align measure_theory.vector_measure.map_range_id MeasureTheory.VectorMeasure.mapRange_id
@[simp]
theorem mapRange_zero {f : M →+ N} (hf : Continuous f) :
- mapRange (0 : VectorMeasure α M) f hf = 0 :=
- by
- ext
- simp
+ mapRange (0 : VectorMeasure α M) f hf = 0 := by ext; simp
#align measure_theory.vector_measure.map_range_zero MeasureTheory.VectorMeasure.mapRange_zero
section ContinuousAdd
@@ -687,10 +657,7 @@ variable [ContinuousAdd M] [ContinuousAdd N]
@[simp]
theorem mapRange_add {v w : VectorMeasure α M} {f : M →+ N} (hf : Continuous f) :
- (v + w).map_range f hf = v.map_range f hf + w.map_range f hf :=
- by
- ext
- simp
+ (v + w).map_range f hf = v.map_range f hf + w.map_range f hf := by ext; simp
#align measure_theory.vector_measure.map_range_add MeasureTheory.VectorMeasure.mapRange_add
/-- Given a continuous add_monoid_hom `f : M → N`, `map_range_hom` is the add_monoid_hom mapping the
@@ -716,10 +683,7 @@ def mapRangeₗ (f : M →ₗ[R] N) (hf : Continuous f) : VectorMeasure α M →
where
toFun v := v.map_range f.toAddMonoidHom hf
map_add' _ _ := mapRange_add hf
- map_smul' := by
- intros
- ext
- simp
+ map_smul' := by intros ; ext; simp
#align measure_theory.vector_measure.map_rangeₗ MeasureTheory.VectorMeasure.mapRangeₗ
end Module
@@ -736,8 +700,7 @@ def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
intro f hf₁ hf₂
convert v.m_Union (fun n => (hf₁ n).inter hi)
(hf₂.mono fun i j => Disjoint.mono inf_le_left inf_le_left)
- · ext n
- rw [if_pos (hf₁ n)]
+ · ext n; rw [if_pos (hf₁ n)]
· rw [Union_inter, if_pos (MeasurableSet.iUnion hf₁)] }
else 0
#align measure_theory.vector_measure.restrict MeasureTheory.VectorMeasure.restrict
@@ -747,9 +710,7 @@ theorem restrict_not_measurable {i : Set α} (hi : ¬MeasurableSet i) : v.restri
#align measure_theory.vector_measure.restrict_not_measurable MeasureTheory.VectorMeasure.restrict_not_measurable
theorem restrict_apply {i : Set α} (hi : MeasurableSet i) {j : Set α} (hj : MeasurableSet j) :
- v.restrict i j = v (j ∩ i) := by
- rw [restrict, dif_pos hi]
- exact if_pos hj
+ v.restrict i j = v (j ∩ i) := by rw [restrict, dif_pos hi]; exact if_pos hj
#align measure_theory.vector_measure.restrict_apply MeasureTheory.VectorMeasure.restrict_apply
theorem restrict_eq_self {i : Set α} (hi : MeasurableSet i) {j : Set α} (hj : MeasurableSet j)
@@ -771,9 +732,7 @@ theorem restrict_univ : v.restrict univ = v :=
theorem restrict_zero {i : Set α} : (0 : VectorMeasure α M).restrict i = 0 :=
by
by_cases hi : MeasurableSet i
- · ext (j hj)
- rw [restrict_apply 0 hi hj]
- rfl
+ · ext (j hj); rw [restrict_apply 0 hi hj]; rfl
· exact dif_neg hi
#align measure_theory.vector_measure.restrict_zero MeasureTheory.VectorMeasure.restrict_zero
@@ -838,7 +797,7 @@ theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).ma
simp [map_apply _ hf hi]
· simp only [map, dif_neg hf]
-- `smul_zero` does not work since we do not require `has_continuous_add`
- ext (i hi)
+ ext (i hi);
simp
#align measure_theory.vector_measure.map_smul MeasureTheory.VectorMeasure.map_smul
@@ -851,7 +810,7 @@ theorem restrict_smul {v : VectorMeasure α M} {i : Set α} (c : R) :
simp [restrict_apply _ hi hj]
· simp only [restrict_not_measurable _ hi]
-- `smul_zero` does not work since we do not require `has_continuous_add`
- ext (j hj)
+ ext (j hj);
simp
#align measure_theory.vector_measure.restrict_smul MeasureTheory.VectorMeasure.restrict_smul
@@ -1028,8 +987,7 @@ theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, Measura
· refine' (w.m_Union (fun n => _) _).Summable
· exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
· exact (disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
- · intro n
- exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
+ · intro n; exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
· exact fun n => ha₁.inter (MeasurableSet.disjointed hf₁ n)
#align measure_theory.vector_measure.restrict_le_restrict_Union MeasureTheory.VectorMeasure.restrict_le_restrict_iUnion
@@ -1039,8 +997,7 @@ theorem restrict_le_restrict_countable_iUnion [Countable β] {f : β → Set α}
cases nonempty_encodable β
rw [← Encodable.iUnion_decode₂]
refine' restrict_le_restrict_Union v w _ _
- · intro n
- measurability
+ · intro n; measurability
· intro n
cases' Encodable.decode₂ β n with b
· simp
@@ -1369,8 +1326,7 @@ def trim {m n : MeasurableSpace α} (v : VectorMeasure α M) (hle : m ≤ n) : @
by
have hf₁' : ∀ k, measurable_set[n] (f k) := fun k => hle _ (hf₁ k)
convert v.m_Union hf₁' hf₂
- · ext n
- rw [if_pos (hf₁ n)]
+ · ext n; rw [if_pos (hf₁ n)]
· rw [if_pos (@MeasurableSet.iUnion _ _ m _ _ hf₁)]
#align measure_theory.vector_measure.trim MeasureTheory.VectorMeasure.trim
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -1536,7 +1536,7 @@ theorem toSignedMeasure_toMeasureOfZeroLe :
μ :=
by
refine' measure.ext fun i hi => _
- lift μ i to ℝ≥0 using (measure_lt_top _ _).Ne
+ lift μ i to ℝ≥0 using (measure_lt_top _ _).Ne with m hm
simp [signed_measure.to_measure_of_zero_le_apply _ _ _ hi,
measure.to_signed_measure_apply_measurable hi, ← hm]
#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLe
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -1536,7 +1536,7 @@ theorem toSignedMeasure_toMeasureOfZeroLe :
μ :=
by
refine' measure.ext fun i hi => _
- lift μ i to ℝ≥0 using (measure_lt_top _ _).Ne with m hm
+ lift μ i to ℝ≥0 using (measure_lt_top _ _).Ne
simp [signed_measure.to_measure_of_zero_le_apply _ _ _ hi,
measure.to_signed_measure_apply_measurable hi, ← hm]
#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLe
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -105,16 +105,16 @@ theorem not_measurable (v : VectorMeasure α M) {i : Set α} (hi : ¬MeasurableS
v.not_measurable' hi
#align measure_theory.vector_measure.not_measurable MeasureTheory.VectorMeasure.not_measurable
-theorem m_unionᵢ (v : VectorMeasure α M) {f : ℕ → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
+theorem m_iUnion (v : VectorMeasure α M) {f : ℕ → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : HasSum (fun i => v (f i)) (v (⋃ i, f i)) :=
v.m_Union' hf₁ hf₂
-#align measure_theory.vector_measure.m_Union MeasureTheory.VectorMeasure.m_unionᵢ
+#align measure_theory.vector_measure.m_Union MeasureTheory.VectorMeasure.m_iUnion
-theorem of_disjoint_unionᵢ_nat [T2Space M] (v : VectorMeasure α M) {f : ℕ → Set α}
+theorem of_disjoint_iUnion_nat [T2Space M] (v : VectorMeasure α M) {f : ℕ → Set α}
(hf₁ : ∀ i, MeasurableSet (f i)) (hf₂ : Pairwise (Disjoint on f)) :
v (⋃ i, f i) = ∑' i, v (f i) :=
- (v.m_unionᵢ hf₁ hf₂).tsum_eq.symm
-#align measure_theory.vector_measure.of_disjoint_Union_nat MeasureTheory.VectorMeasure.of_disjoint_unionᵢ_nat
+ (v.m_iUnion hf₁ hf₂).tsum_eq.symm
+#align measure_theory.vector_measure.of_disjoint_Union_nat MeasureTheory.VectorMeasure.of_disjoint_iUnion_nat
theorem coe_injective : @Function.Injective (VectorMeasure α M) (Set α → M) coeFn := fun v w h =>
by
@@ -146,16 +146,16 @@ theorem ext {s t : VectorMeasure α M} (h : ∀ i : Set α, MeasurableSet i →
variable [T2Space M] {v : VectorMeasure α M} {f : ℕ → Set α}
-theorem hasSum_of_disjoint_unionᵢ [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
+theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : HasSum (fun i => v (f i)) (v (⋃ i, f i)) :=
by
cases nonempty_encodable β
set g := fun i : ℕ => ⋃ (b : β) (H : b ∈ Encodable.decode₂ β i), f b with hg
have hg₁ : ∀ i, MeasurableSet (g i) := fun _ =>
- MeasurableSet.unionᵢ fun b => MeasurableSet.unionᵢ fun _ => hf₁ b
- have hg₂ : Pairwise (Disjoint on g) := Encodable.unionᵢ_decode₂_disjoint_on hf₂
+ MeasurableSet.iUnion fun b => MeasurableSet.iUnion fun _ => hf₁ b
+ have hg₂ : Pairwise (Disjoint on g) := Encodable.iUnion_decode₂_disjoint_on hf₂
have := v.of_disjoint_Union_nat hg₁ hg₂
- rw [hg, Encodable.unionᵢ_decode₂] at this
+ rw [hg, Encodable.iUnion_decode₂] at this
have hg₃ : (fun i : β => v (f i)) = fun i => v (g (Encodable.encode i)) :=
by
ext
@@ -170,7 +170,7 @@ theorem hasSum_of_disjoint_unionᵢ [Countable β] {f : β → Set α} (hf₁ :
· rintro ⟨b, hb₁, hb₂⟩
rw [Encodable.decode₂_is_partial_inv _ _] at hb₁
rwa [← Encodable.encode_injective hb₁]
- rw [Summable.hasSum_iff, this, ← tsum_unionᵢ_decode₂]
+ rw [Summable.hasSum_iff, this, ← tsum_iUnion_decode₂]
· exact v.empty
· rw [hg₃]
change Summable ((fun i => v (g i)) ∘ Encodable.encode)
@@ -181,12 +181,12 @@ theorem hasSum_of_disjoint_unionᵢ [Countable β] {f : β → Set α} (hf₁ :
simp only [Union_eq_empty, Option.mem_def, not_exists, mem_range] at hx⊢
intro i hi
exact False.elim ((hx i) ((Encodable.decode₂_is_partial_inv _ _).1 hi))
-#align measure_theory.vector_measure.has_sum_of_disjoint_Union MeasureTheory.VectorMeasure.hasSum_of_disjoint_unionᵢ
+#align measure_theory.vector_measure.has_sum_of_disjoint_Union MeasureTheory.VectorMeasure.hasSum_of_disjoint_iUnion
-theorem of_disjoint_unionᵢ [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
+theorem of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : v (⋃ i, f i) = ∑' i, v (f i) :=
- (hasSum_of_disjoint_unionᵢ hf₁ hf₂).tsum_eq.symm
-#align measure_theory.vector_measure.of_disjoint_Union MeasureTheory.VectorMeasure.of_disjoint_unionᵢ
+ (hasSum_of_disjoint_iUnion hf₁ hf₂).tsum_eq.symm
+#align measure_theory.vector_measure.of_disjoint_Union MeasureTheory.VectorMeasure.of_disjoint_iUnion
theorem of_union {A B : Set α} (h : Disjoint A B) (hA : MeasurableSet A) (hB : MeasurableSet B) :
v (A ∪ B) = v A + v B :=
@@ -232,17 +232,17 @@ theorem of_diff_of_diff_eq_zero {A B : Set α} (hA : MeasurableSet A) (hB : Meas
#align measure_theory.vector_measure.of_diff_of_diff_eq_zero MeasureTheory.VectorMeasure.of_diff_of_diff_eq_zero
-theorem of_unionᵢ_nonneg {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
+theorem of_iUnion_nonneg {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
[OrderClosedTopology M] {v : VectorMeasure α M} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) (hf₃ : ∀ i, 0 ≤ v (f i)) : 0 ≤ v (⋃ i, f i) :=
- (v.of_disjoint_unionᵢ_nat hf₁ hf₂).symm ▸ tsum_nonneg hf₃
-#align measure_theory.vector_measure.of_Union_nonneg MeasureTheory.VectorMeasure.of_unionᵢ_nonneg
+ (v.of_disjoint_iUnion_nat hf₁ hf₂).symm ▸ tsum_nonneg hf₃
+#align measure_theory.vector_measure.of_Union_nonneg MeasureTheory.VectorMeasure.of_iUnion_nonneg
-theorem of_unionᵢ_nonpos {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
+theorem of_iUnion_nonpos {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
[OrderClosedTopology M] {v : VectorMeasure α M} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) (hf₃ : ∀ i, v (f i) ≤ 0) : v (⋃ i, f i) ≤ 0 :=
- (v.of_disjoint_unionᵢ_nat hf₁ hf₂).symm ▸ tsum_nonpos hf₃
-#align measure_theory.vector_measure.of_Union_nonpos MeasureTheory.VectorMeasure.of_unionᵢ_nonpos
+ (v.of_disjoint_iUnion_nat hf₁ hf₂).symm ▸ tsum_nonpos hf₃
+#align measure_theory.vector_measure.of_Union_nonpos MeasureTheory.VectorMeasure.of_iUnion_nonpos
theorem of_nonneg_disjoint_union_eq_zero {s : SignedMeasure α} {A B : Set α} (h : Disjoint A B)
(hA₁ : MeasurableSet A) (hB₁ : MeasurableSet B) (hA₂ : 0 ≤ s A) (hB₂ : 0 ≤ s B)
@@ -279,7 +279,7 @@ def smul (r : R) (v : VectorMeasure α M) : VectorMeasure α M
measureOf' := r • v
empty' := by rw [Pi.smul_apply, Empty, smul_zero]
not_measurable' _ hi := by rw [Pi.smul_apply, v.not_measurable hi, smul_zero]
- m_Union' _ hf₁ hf₂ := HasSum.const_smul _ (v.m_unionᵢ hf₁ hf₂)
+ m_Union' _ hf₁ hf₂ := HasSum.const_smul _ (v.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.smul MeasureTheory.VectorMeasure.smul
instance : SMul R (VectorMeasure α M) :=
@@ -325,7 +325,7 @@ def add (v w : VectorMeasure α M) : VectorMeasure α M
measureOf' := v + w
empty' := by simp
not_measurable' _ hi := by simp [v.not_measurable hi, w.not_measurable hi]
- m_Union' f hf₁ hf₂ := HasSum.add (v.m_unionᵢ hf₁ hf₂) (w.m_unionᵢ hf₁ hf₂)
+ m_Union' f hf₁ hf₂ := HasSum.add (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.add MeasureTheory.VectorMeasure.add
instance : Add (VectorMeasure α M) :=
@@ -366,7 +366,7 @@ def neg (v : VectorMeasure α M) : VectorMeasure α M
measureOf' := -v
empty' := by simp
not_measurable' _ hi := by simp [v.not_measurable hi]
- m_Union' f hf₁ hf₂ := HasSum.neg <| v.m_unionᵢ hf₁ hf₂
+ m_Union' f hf₁ hf₂ := HasSum.neg <| v.m_iUnion hf₁ hf₂
#align measure_theory.vector_measure.neg MeasureTheory.VectorMeasure.neg
instance : Neg (VectorMeasure α M) :=
@@ -387,7 +387,7 @@ def sub (v w : VectorMeasure α M) : VectorMeasure α M
measureOf' := v - w
empty' := by simp
not_measurable' _ hi := by simp [v.not_measurable hi, w.not_measurable hi]
- m_Union' f hf₁ hf₂ := HasSum.sub (v.m_unionᵢ hf₁ hf₂) (w.m_unionᵢ hf₁ hf₂)
+ m_Union' f hf₁ hf₂ := HasSum.sub (v.m_iUnion hf₁ hf₂) (w.m_iUnion hf₁ hf₂)
#align measure_theory.vector_measure.sub MeasureTheory.VectorMeasure.sub
instance : Sub (VectorMeasure α M) :=
@@ -449,7 +449,7 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
not_measurable' _ hi := if_neg hi
m_Union' := by
intro _ hf₁ hf₂
- rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.unionᵢ hf₁),
+ rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.iUnion hf₁),
Summable.hasSum_iff]
· congr
ext n
@@ -531,7 +531,7 @@ def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
not_measurable' _ hi := if_neg hi
m_Union' _ hf₁ hf₂ := by
rw [Summable.hasSum_iff ENNReal.summable]
- · rw [if_pos (MeasurableSet.unionᵢ hf₁), MeasureTheory.measure_unionᵢ hf₂ hf₁]
+ · rw [if_pos (MeasurableSet.iUnion hf₁), MeasureTheory.measure_iUnion hf₂ hf₁]
exact tsum_congr fun n => if_pos (hf₁ n)
#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toEnnrealVectorMeasure
@@ -573,7 +573,7 @@ section
/-- A vector measure over `ℝ≥0∞` is a measure. -/
def ennrealToMeasure {m : MeasurableSpace α} (v : VectorMeasure α ℝ≥0∞) : Measure α :=
- ofMeasurable (fun s _ => v s) v.Empty fun f hf₁ hf₂ => v.of_disjoint_unionᵢ_nat hf₁ hf₂
+ ofMeasurable (fun s _ => v s) v.Empty fun f hf₁ hf₂ => v.of_disjoint_iUnion_nat hf₁ hf₂
#align measure_theory.vector_measure.ennreal_to_measure MeasureTheory.VectorMeasure.ennrealToMeasure
theorem ennrealToMeasure_apply {m : MeasurableSpace α} {v : VectorMeasure α ℝ≥0∞} {s : Set α}
@@ -618,7 +618,7 @@ def map (v : VectorMeasure α M) (f : α → β) : VectorMeasure β M :=
convert v.m_Union (fun i => hf (hg₁ i)) fun i j hij => (hg₂ hij).Preimage _
· ext i
rw [if_pos (hg₁ i)]
- · rw [preimage_Union, if_pos (MeasurableSet.unionᵢ hg₁)] }
+ · rw [preimage_Union, if_pos (MeasurableSet.iUnion hg₁)] }
else 0
#align measure_theory.vector_measure.map MeasureTheory.VectorMeasure.map
@@ -657,7 +657,7 @@ def mapRange (v : VectorMeasure α M) (f : M →+ N) (hf : Continuous f) : Vecto
measureOf' s := f (v s)
empty' := by rw [Empty, AddMonoidHom.map_zero]
not_measurable' i hi := by rw [not_measurable v hi, AddMonoidHom.map_zero]
- m_Union' g hg₁ hg₂ := HasSum.map (v.m_unionᵢ hg₁ hg₂) f hf
+ m_Union' g hg₁ hg₂ := HasSum.map (v.m_iUnion hg₁ hg₂) f hf
#align measure_theory.vector_measure.map_range MeasureTheory.VectorMeasure.mapRange
@[simp]
@@ -738,7 +738,7 @@ def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
(hf₂.mono fun i j => Disjoint.mono inf_le_left inf_le_left)
· ext n
rw [if_pos (hf₁ n)]
- · rw [Union_inter, if_pos (MeasurableSet.unionᵢ hf₁)] }
+ · rw [Union_inter, if_pos (MeasurableSet.iUnion hf₁)] }
else 0
#align measure_theory.vector_measure.restrict MeasureTheory.VectorMeasure.restrict
@@ -1010,12 +1010,12 @@ variable {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M] [OrderClosed
variable (v w : VectorMeasure α M) {i j : Set α}
-theorem restrict_le_restrict_unionᵢ {f : ℕ → Set α} (hf₁ : ∀ n, MeasurableSet (f n))
+theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, MeasurableSet (f n))
(hf₂ : ∀ n, v ≤[f n] w) : v ≤[⋃ n, f n] w :=
by
refine' restrict_le_restrict_of_subset_le v w fun a ha₁ ha₂ => _
have ha₃ : (⋃ n, a ∩ disjointed f n) = a := by
- rwa [← inter_Union, unionᵢ_disjointed, inter_eq_left_iff_subset]
+ rwa [← inter_Union, iUnion_disjointed, inter_eq_left_iff_subset]
have ha₄ : Pairwise (Disjoint on fun n => a ∩ disjointed f n) :=
(disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
rw [← ha₃, v.of_disjoint_Union_nat _ ha₄, w.of_disjoint_Union_nat _ ha₄]
@@ -1031,13 +1031,13 @@ theorem restrict_le_restrict_unionᵢ {f : ℕ → Set α} (hf₁ : ∀ n, Measu
· intro n
exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
· exact fun n => ha₁.inter (MeasurableSet.disjointed hf₁ n)
-#align measure_theory.vector_measure.restrict_le_restrict_Union MeasureTheory.VectorMeasure.restrict_le_restrict_unionᵢ
+#align measure_theory.vector_measure.restrict_le_restrict_Union MeasureTheory.VectorMeasure.restrict_le_restrict_iUnion
-theorem restrict_le_restrict_countable_unionᵢ [Countable β] {f : β → Set α}
+theorem restrict_le_restrict_countable_iUnion [Countable β] {f : β → Set α}
(hf₁ : ∀ b, MeasurableSet (f b)) (hf₂ : ∀ b, v ≤[f b] w) : v ≤[⋃ b, f b] w :=
by
cases nonempty_encodable β
- rw [← Encodable.unionᵢ_decode₂]
+ rw [← Encodable.iUnion_decode₂]
refine' restrict_le_restrict_Union v w _ _
· intro n
measurability
@@ -1045,7 +1045,7 @@ theorem restrict_le_restrict_countable_unionᵢ [Countable β] {f : β → Set
cases' Encodable.decode₂ β n with b
· simp
· simp [hf₂ b]
-#align measure_theory.vector_measure.restrict_le_restrict_countable_Union MeasureTheory.VectorMeasure.restrict_le_restrict_countable_unionᵢ
+#align measure_theory.vector_measure.restrict_le_restrict_countable_Union MeasureTheory.VectorMeasure.restrict_le_restrict_countable_iUnion
theorem restrict_le_restrict_union (hi₁ : MeasurableSet i) (hi₂ : v ≤[i] w) (hj₁ : MeasurableSet j)
(hj₂ : v ≤[j] w) : v ≤[i ∪ j] w := by
@@ -1371,7 +1371,7 @@ def trim {m n : MeasurableSpace α} (v : VectorMeasure α M) (hle : m ≤ n) : @
convert v.m_Union hf₁' hf₂
· ext n
rw [if_pos (hf₁ n)]
- · rw [if_pos (@MeasurableSet.unionᵢ _ _ m _ _ hf₁)]
+ · rw [if_pos (@MeasurableSet.iUnion _ _ m _ _ hf₁)]
#align measure_theory.vector_measure.trim MeasureTheory.VectorMeasure.trim
variable {n : MeasurableSpace α} {v : VectorMeasure α M}
@@ -1437,8 +1437,8 @@ def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
by
intro n m hnm
exact ((hf₂ hnm).inf_left' i).inf_right' i
- simp only [to_measure_of_zero_le', s.restrict_apply hi₁ (MeasurableSet.unionᵢ hf₁),
- Set.inter_comm, Set.inter_unionᵢ, s.of_disjoint_Union_nat h₁ h₂, ENNReal.some_eq_coe,
+ simp only [to_measure_of_zero_le', s.restrict_apply hi₁ (MeasurableSet.iUnion hf₁),
+ Set.inter_comm, Set.inter_iUnion, s.of_disjoint_Union_nat h₁ h₂, ENNReal.some_eq_coe,
id.def]
have h : ∀ n, 0 ≤ s (i ∩ f n) := fun n =>
s.nonneg_of_zero_le_restrict (s.zero_le_restrict_subset hi₁ (inter_subset_left _ _) hi₂)
mathlib commit https://github.com/leanprover-community/mathlib/commit/d4437c68c8d350fc9d4e95e1e174409db35e30d7
@@ -442,7 +442,7 @@ include m
/-- A finite measure coerced into a real function is a signed measure. -/
@[simps]
-def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure α
+def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure α
where
measureOf' := fun i : Set α => if MeasurableSet i then (μ.measureOf i).toReal else 0
empty' := by simp [μ.empty]
@@ -468,22 +468,21 @@ def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure
exact measure_mono (Set.subset_univ _)
#align measure_theory.measure.to_signed_measure MeasureTheory.Measure.toSignedMeasure
-theorem toSignedMeasure_apply_measurable {μ : Measure α} [IsFiniteMeasure μ] {i : Set α}
+theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i : Set α}
(hi : MeasurableSet i) : μ.toSignedMeasure i = (μ i).toReal :=
if_pos hi
#align measure_theory.measure.to_signed_measure_apply_measurable MeasureTheory.Measure.toSignedMeasure_apply_measurable
-- Without this lemma, `singular_part_neg` in `measure_theory.decomposition.lebesgue` is
-- extremely slow
-theorem toSignedMeasure_congr {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
- (h : μ = ν) : μ.toSignedMeasure = ν.toSignedMeasure :=
- by
+theorem toSignedMeasure_congr {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] (h : μ = ν) :
+ μ.toSignedMeasure = ν.toSignedMeasure := by
congr
exact h
#align measure_theory.measure.to_signed_measure_congr MeasureTheory.Measure.toSignedMeasure_congr
-theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [IsFiniteMeasure μ]
- [IsFiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν :=
+theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasure μ]
+ [FiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν :=
by
refine' ⟨fun h => _, fun h => _⟩
· ext1 i hi
@@ -503,7 +502,7 @@ theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 :=
#align measure_theory.measure.to_signed_measure_zero MeasureTheory.Measure.toSignedMeasure_zero
@[simp]
-theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteMeasure ν] :
+theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasure ν] :
(μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure :=
by
ext (i hi)
@@ -515,7 +514,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteM
#align measure_theory.measure.to_signed_measure_add MeasureTheory.Measure.toSignedMeasure_add
@[simp]
-theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0) :
+theorem toSignedMeasure_smul (μ : Measure α) [FiniteMeasure μ] (r : ℝ≥0) :
(r • μ).toSignedMeasure = r • μ.toSignedMeasure :=
by
ext (i hi)
@@ -557,8 +556,8 @@ theorem toEnnrealVectorMeasure_add (μ ν : Measure α) :
to_ennreal_vector_measure_apply_measurable hi, to_ennreal_vector_measure_apply_measurable hi]
#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toEnnrealVectorMeasure_add
-theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
- {i : Set α} (hi : MeasurableSet i) :
+theorem toSignedMeasure_sub_apply {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] {i : Set α}
+ (hi : MeasurableSet i) :
(μ.toSignedMeasure - ν.toSignedMeasure) i = (μ i).toReal - (ν i).toReal := by
rw [vector_measure.sub_apply, to_signed_measure_apply_measurable hi,
measure.to_signed_measure_apply_measurable hi, sub_eq_add_neg]
@@ -1485,7 +1484,7 @@ theorem toMeasureOfLeZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj
/-- `signed_measure.to_measure_of_zero_le` is a finite measure. -/
instance toMeasureOfZeroLe_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
- IsFiniteMeasure (s.toMeasureOfZeroLe i hi₁ hi)
+ FiniteMeasure (s.toMeasureOfZeroLe i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_zero_le_apply s hi hi₁ MeasurableSet.univ]
@@ -1494,7 +1493,7 @@ instance toMeasureOfZeroLe_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
/-- `signed_measure.to_measure_of_le_zero` is a finite measure. -/
instance toMeasureOfLeZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
- IsFiniteMeasure (s.toMeasureOfLeZero i hi₁ hi)
+ FiniteMeasure (s.toMeasureOfLeZero i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_le_zero_apply s hi hi₁ MeasurableSet.univ]
@@ -1521,7 +1520,7 @@ namespace Measure
open VectorMeasure
-variable (μ : Measure α) [IsFiniteMeasure μ]
+variable (μ : Measure α) [FiniteMeasure μ]
theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/92c69b77c5a7dc0f7eeddb552508633305157caa
@@ -1484,22 +1484,22 @@ theorem toMeasureOfLeZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj
#align measure_theory.signed_measure.to_measure_of_le_zero_apply MeasureTheory.SignedMeasure.toMeasureOfLeZero_apply
/-- `signed_measure.to_measure_of_zero_le` is a finite measure. -/
-instance toMeasureOfZeroLeFinite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
+instance toMeasureOfZeroLe_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
IsFiniteMeasure (s.toMeasureOfZeroLe i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_zero_le_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
-#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLeFinite
+#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLe_finite
/-- `signed_measure.to_measure_of_le_zero` is a finite measure. -/
-instance toMeasureOfLeZeroFinite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
+instance toMeasureOfLeZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
IsFiniteMeasure (s.toMeasureOfLeZero i hi₁ hi)
where measure_univ_lt_top :=
by
rw [to_measure_of_le_zero_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
-#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLeZeroFinite
+#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLeZero_finite
theorem toMeasureOfZeroLe_toSignedMeasure (hs : 0 ≤[univ] s) :
(s.toMeasureOfZeroLe univ MeasurableSet.univ hs).toSignedMeasure = s :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -735,8 +735,7 @@ def restrict (v : VectorMeasure α M) (i : Set α) : VectorMeasure α M :=
not_measurable' := fun i hi => if_neg hi
m_Union' := by
intro f hf₁ hf₂
- convert
- v.m_Union (fun n => (hf₁ n).inter hi)
+ convert v.m_Union (fun n => (hf₁ n).inter hi)
(hf₂.mono fun i j => Disjoint.mono inf_le_left inf_le_left)
· ext n
rw [if_pos (hf₁ n)]
mathlib commit https://github.com/leanprover-community/mathlib/commit/3b267e70a936eebb21ab546f49a8df34dd300b25
@@ -1447,7 +1447,7 @@ def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
rw [NNReal.coe_tsum_of_nonneg h, ENNReal.coe_tsum]
· refine' tsum_congr fun n => _
simp_rw [s.restrict_apply hi₁ (hf₁ n), Set.inter_comm]
- · exact (NNReal.summable_coe_of_nonneg h).2 (s.m_Union h₁ h₂).Summable)
+ · exact (NNReal.summable_mk h).2 (s.m_Union h₁ h₂).Summable)
#align measure_theory.signed_measure.to_measure_of_zero_le MeasureTheory.SignedMeasure.toMeasureOfZeroLe
variable (s : SignedMeasure α) {i j : Set α}
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -1246,8 +1246,8 @@ theorem ennrealToMeasure {μ : VectorMeasure α ℝ≥0∞} :
end AbsolutelyContinuous
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
/-- Two vector measures `v` and `w` are said to be mutually singular if there exists a measurable
set `s`, such that for all `t ⊆ s`, `v t = 0` and for all `t ⊆ sᶜ`, `w t = 0`.
@@ -1266,8 +1266,8 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (t «expr ⊆ » s) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » s) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (t «expr ⊆ » «expr ᶜ»(s)) -/
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -48,7 +48,7 @@ vector measure, signed measure, complex measure
noncomputable section
-open Classical BigOperators NNReal Ennreal MeasureTheory
+open Classical BigOperators NNReal ENNReal MeasureTheory
namespace MeasureTheory
@@ -449,18 +449,18 @@ def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure
not_measurable' _ hi := if_neg hi
m_Union' := by
intro _ hf₁ hf₂
- rw [μ.m_Union hf₁ hf₂, Ennreal.tsum_toReal_eq, if_pos (MeasurableSet.unionᵢ hf₁),
+ rw [μ.m_Union hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.unionᵢ hf₁),
Summable.hasSum_iff]
· congr
ext n
rw [if_pos (hf₁ n)]
- · refine' @summable_of_nonneg_of_le _ (Ennreal.toReal ∘ μ ∘ f) _ _ _ _
+ · refine' @summable_of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
· intro
split_ifs
- exacts[Ennreal.toReal_nonneg, le_rfl]
+ exacts[ENNReal.toReal_nonneg, le_rfl]
· intro
split_ifs
- exacts[le_rfl, Ennreal.toReal_nonneg]
+ exacts[le_rfl, ENNReal.toReal_nonneg]
exact summable_measure_to_real hf₁ hf₂
· intro a ha
apply ne_of_lt hμ.measure_univ_lt_top
@@ -489,7 +489,7 @@ theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [IsFiniteMea
· ext1 i hi
have : μ.to_signed_measure i = ν.to_signed_measure i := by rw [h]
rwa [to_signed_measure_apply_measurable hi, to_signed_measure_apply_measurable hi,
- Ennreal.toReal_eq_toReal] at this <;>
+ ENNReal.toReal_eq_toReal] at this <;>
· exact measure_ne_top _ _
· congr
assumption
@@ -508,7 +508,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteM
by
ext (i hi)
rw [to_signed_measure_apply_measurable hi, add_apply,
- Ennreal.toReal_add (ne_of_lt (measure_lt_top _ _)) (ne_of_lt (measure_lt_top _ _)),
+ ENNReal.toReal_add (ne_of_lt (measure_lt_top _ _)) (ne_of_lt (measure_lt_top _ _)),
vector_measure.add_apply, to_signed_measure_apply_measurable hi,
to_signed_measure_apply_measurable hi]
all_goals infer_instance
@@ -520,7 +520,7 @@ theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0
by
ext (i hi)
rw [to_signed_measure_apply_measurable hi, vector_measure.smul_apply,
- to_signed_measure_apply_measurable hi, coe_smul, Pi.smul_apply, Ennreal.toReal_smul]
+ to_signed_measure_apply_measurable hi, coe_smul, Pi.smul_apply, ENNReal.toReal_smul]
#align measure_theory.measure.to_signed_measure_smul MeasureTheory.Measure.toSignedMeasure_smul
/-- A measure is a vector measure over `ℝ≥0∞`. -/
@@ -531,7 +531,7 @@ def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞
empty' := by simp [μ.empty]
not_measurable' _ hi := if_neg hi
m_Union' _ hf₁ hf₂ := by
- rw [Summable.hasSum_iff Ennreal.summable]
+ rw [Summable.hasSum_iff ENNReal.summable]
· rw [if_pos (MeasurableSet.unionᵢ hf₁), MeasureTheory.measure_unionᵢ hf₂ hf₁]
exact tsum_congr fun n => if_pos (hf₁ n)
#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toEnnrealVectorMeasure
@@ -1440,11 +1440,11 @@ def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
intro n m hnm
exact ((hf₂ hnm).inf_left' i).inf_right' i
simp only [to_measure_of_zero_le', s.restrict_apply hi₁ (MeasurableSet.unionᵢ hf₁),
- Set.inter_comm, Set.inter_unionᵢ, s.of_disjoint_Union_nat h₁ h₂, Ennreal.some_eq_coe,
+ Set.inter_comm, Set.inter_unionᵢ, s.of_disjoint_Union_nat h₁ h₂, ENNReal.some_eq_coe,
id.def]
have h : ∀ n, 0 ≤ s (i ∩ f n) := fun n =>
s.nonneg_of_zero_le_restrict (s.zero_le_restrict_subset hi₁ (inter_subset_left _ _) hi₂)
- rw [NNReal.coe_tsum_of_nonneg h, Ennreal.coe_tsum]
+ rw [NNReal.coe_tsum_of_nonneg h, ENNReal.coe_tsum]
· refine' tsum_congr fun n => _
simp_rw [s.restrict_apply hi₁ (hf₁ n), Set.inter_comm]
· exact (NNReal.summable_coe_of_nonneg h).2 (s.m_Union h₁ h₂).Summable)
@@ -1490,7 +1490,7 @@ instance toMeasureOfZeroLeFinite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
where measure_univ_lt_top :=
by
rw [to_measure_of_zero_le_apply s hi hi₁ MeasurableSet.univ]
- exact Ennreal.coe_lt_top
+ exact ENNReal.coe_lt_top
#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLeFinite
/-- `signed_measure.to_measure_of_le_zero` is a finite measure. -/
@@ -1499,7 +1499,7 @@ instance toMeasureOfLeZeroFinite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
where measure_univ_lt_top :=
by
rw [to_measure_of_le_zero_apply s hi hi₁ MeasurableSet.univ]
- exact Ennreal.coe_lt_top
+ exact ENNReal.coe_lt_top
#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLeZeroFinite
theorem toMeasureOfZeroLe_toSignedMeasure (hs : 0 ≤[univ] s) :
@@ -1529,7 +1529,7 @@ theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure :=
rw [← le_restrict_univ_iff_le]
refine' restrict_le_restrict_of_subset_le _ _ fun j hj₁ _ => _
simp only [measure.to_signed_measure_apply_measurable hj₁, coe_zero, Pi.zero_apply,
- Ennreal.toReal_nonneg, vector_measure.coe_zero]
+ ENNReal.toReal_nonneg, vector_measure.coe_zero]
#align measure_theory.measure.zero_le_to_signed_measure MeasureTheory.Measure.zero_le_toSignedMeasure
theorem toSignedMeasure_toMeasureOfZeroLe :
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -920,15 +920,15 @@ theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, Measura
have ha₄ : Pairwise (Disjoint on fun n => a ∩ disjointed f n) :=
(disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
rw [← ha₃, v.of_disjoint_iUnion_nat _ ha₄, w.of_disjoint_iUnion_nat _ ha₄]
- refine' tsum_le_tsum (fun n => (restrict_le_restrict_iff v w (hf₁ n)).1 (hf₂ n) _ _) _ _
- · exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
- · exact Set.Subset.trans (Set.inter_subset_right _ _) (disjointed_subset _ _)
- · refine' (v.m_iUnion (fun n => _) _).summable
+ · refine' tsum_le_tsum (fun n => (restrict_le_restrict_iff v w (hf₁ n)).1 (hf₂ n) _ _) _ _
· exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
- · exact (disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
- · refine' (w.m_iUnion (fun n => _) _).summable
- · exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
- · exact (disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
+ · exact Set.Subset.trans (Set.inter_subset_right _ _) (disjointed_subset _ _)
+ · refine' (v.m_iUnion (fun n => _) _).summable
+ · exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
+ · exact (disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
+ · refine' (w.m_iUnion (fun n => _) _).summable
+ · exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
+ · exact (disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
· intro n
exact ha₁.inter (MeasurableSet.disjointed hf₁ n)
· exact fun n => ha₁.inter (MeasurableSet.disjointed hf₁ n)
@@ -1310,7 +1310,7 @@ def toMeasureOfZeroLE (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
intro n m hnm
exact ((hf₂ hnm).inf_left' i).inf_right' i
simp only [toMeasureOfZeroLE', s.restrict_apply hi₁ (MeasurableSet.iUnion hf₁), Set.inter_comm,
- Set.inter_iUnion, s.of_disjoint_iUnion_nat h₁ h₂, ENNReal.some_eq_coe, id.def]
+ Set.inter_iUnion, s.of_disjoint_iUnion_nat h₁ h₂, ENNReal.some_eq_coe, id]
have h : ∀ n, 0 ≤ s (i ∩ f n) := fun n =>
s.nonneg_of_zero_le_restrict (s.zero_le_restrict_subset hi₁ (Set.inter_subset_left _ _) hi₂)
rw [NNReal.coe_tsum_of_nonneg h, ENNReal.coe_tsum]
@@ -830,7 +830,6 @@ theorem le_iff' : v ≤ w ↔ ∀ i, v i ≤ w i := by
end
--- mathport name: vector_measure.restrict
set_option quotPrecheck false in -- Porting note: error message suggested to do this
scoped[MeasureTheory]
notation:50 v " ≤[" i:50 "] " w:50 =>
@@ -1042,7 +1041,6 @@ def AbsolutelyContinuous (v : VectorMeasure α M) (w : VectorMeasure α N) :=
∀ ⦃s : Set α⦄, w s = 0 → v s = 0
#align measure_theory.vector_measure.absolutely_continuous MeasureTheory.VectorMeasure.AbsolutelyContinuous
--- mathport name: vector_measure.absolutely_continuous
@[inherit_doc VectorMeasure.AbsolutelyContinuous]
scoped[MeasureTheory] infixl:50 " ≪ᵥ " => MeasureTheory.VectorMeasure.AbsolutelyContinuous
mul
-div
cancellation lemmas (#11530)
Lemma names around cancellation of multiplication and division are a mess.
This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero
lemma name, the Group
lemma, the AddGroup
lemma name).
| Statement | New name | Old name | |
@@ -197,7 +197,7 @@ theorem of_add_of_diff {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet
theorem of_diff {M : Type*} [AddCommGroup M] [TopologicalSpace M] [T2Space M]
{v : VectorMeasure α M} {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B)
(h : A ⊆ B) : v (B \ A) = v B - v A := by
- rw [← of_add_of_diff hA hB h, add_sub_cancel']
+ rw [← of_add_of_diff hA hB h, add_sub_cancel_left]
#align measure_theory.vector_measure.of_diff MeasureTheory.VectorMeasure.of_diff
theorem of_diff_of_diff_eq_zero {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B)
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -250,7 +250,6 @@ end
section SMul
variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-
variable {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
/-- Given a real number `r` and a signed measure `s`, `smul r s` is the signed
@@ -381,7 +380,6 @@ end AddCommGroup
section DistribMulAction
variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-
variable {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
instance instDistribMulAction [ContinuousAdd M] : DistribMulAction R (VectorMeasure α M) :=
@@ -393,7 +391,6 @@ end DistribMulAction
section Module
variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-
variable {R : Type*} [Semiring R] [Module R M] [ContinuousConstSMul R M]
instance instModule [ContinuousAdd M] : Module R (VectorMeasure α M) :=
@@ -549,9 +546,7 @@ end
section
variable [MeasurableSpace α] [MeasurableSpace β]
-
variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-
variable (v : VectorMeasure α M)
/-- The pushforward of a vector measure along a function. -/
@@ -647,7 +642,6 @@ end ContinuousAdd
section Module
variable {R : Type*} [Semiring R] [Module R M] [Module R N]
-
variable [ContinuousAdd M] [ContinuousAdd N] [ContinuousConstSMul R M] [ContinuousConstSMul R N]
/-- Given a continuous linear map `f : M → N`, `mapRangeₗ` is the linear map mapping the
@@ -757,9 +751,7 @@ end
section
variable [MeasurableSpace β]
-
variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-
variable {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
@[simp]
@@ -790,9 +782,7 @@ end
section
variable [MeasurableSpace β]
-
variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-
variable {R : Type*} [Semiring R] [Module R M] [ContinuousConstSMul R M] [ContinuousAdd M]
/-- `VectorMeasure.map` as a linear map. -/
@@ -849,7 +839,6 @@ scoped[MeasureTheory]
section
variable {M : Type*} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
-
variable (v w : VectorMeasure α M)
theorem restrict_le_restrict_iff {i : Set α} (hi : MeasurableSet i) :
@@ -902,7 +891,6 @@ end
section
variable {M : Type*} [TopologicalSpace M] [OrderedAddCommGroup M] [TopologicalAddGroup M]
-
variable (v w : VectorMeasure α M)
nonrec theorem neg_le_neg {i : Set α} (hi : MeasurableSet i) (h : v ≤[i] w) : -w ≤[i] -v := by
@@ -923,7 +911,6 @@ end
section
variable {M : Type*} [TopologicalSpace M] [OrderedAddCommMonoid M] [OrderClosedTopology M]
-
variable (v w : VectorMeasure α M) {i j : Set α}
theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, MeasurableSet (f n))
@@ -974,7 +961,6 @@ end
section
variable {M : Type*} [TopologicalSpace M] [OrderedAddCommMonoid M]
-
variable (v w : VectorMeasure α M) {i j : Set α}
theorem nonneg_of_zero_le_restrict (hi₂ : 0 ≤[i] v) : 0 ≤ v i := by
@@ -1020,7 +1006,6 @@ end
section
variable {M : Type*} [TopologicalSpace M] [LinearOrderedAddCommMonoid M]
-
variable (v w : VectorMeasure α M) {i j : Set α}
theorem exists_pos_measure_of_not_restrict_le_zero (hi : ¬v ≤[i] 0) :
@@ -1048,7 +1033,6 @@ end
section
variable {L M N : Type*}
-
variable [AddCommMonoid L] [TopologicalSpace L] [AddCommMonoid M] [TopologicalSpace M]
[AddCommMonoid N] [TopologicalSpace N]
open Classical
(#11199)
We remove all but one open Classical
s, instead preferring to use open scoped Classical
. The only real side-effect this led to is moving a couple declarations to use Exists.choose
instead of Classical.choose
.
The first few commits are explicitly labelled regex replaces for ease of review.
@@ -45,7 +45,8 @@ vector measure, signed measure, complex measure
noncomputable section
-open Classical BigOperators NNReal ENNReal MeasureTheory
+open scoped Classical
+open BigOperators NNReal ENNReal MeasureTheory
namespace MeasureTheory
@@ -172,7 +172,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
· exact (v.m_iUnion hg₁ hg₂).summable
· intro x hx
convert v.empty
- simp only [Set.iUnion_eq_empty, Option.mem_def, not_exists, Set.mem_range] at hx ⊢
+ simp only [g, Set.iUnion_eq_empty, Option.mem_def, not_exists, Set.mem_range] at hx ⊢
intro i hi
exact False.elim ((hx i) ((Encodable.decode₂_is_partial_inv _ _).1 hi))
#align measure_theory.vector_measure.has_sum_of_disjoint_Union MeasureTheory.VectorMeasure.hasSum_of_disjoint_iUnion
refine
s (#10762)
I replaced a few "terminal" refine/refine'
s with exact
.
The strategy was very simple-minded: essentially any refine
whose following line had smaller indentation got replaced by exact
and then I cleaned up the mess.
This PR certainly leaves some further terminal refine
s, but maybe the current change is beneficial.
@@ -160,7 +160,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
simp only [exists_prop, Set.mem_iUnion, Option.mem_def]
constructor
· intro hy
- refine' ⟨x, (Encodable.decode₂_is_partial_inv _ _).2 rfl, hy⟩
+ exact ⟨x, (Encodable.decode₂_is_partial_inv _ _).2 rfl, hy⟩
· rintro ⟨b, hb₁, hb₂⟩
rw [Encodable.decode₂_is_partial_inv _ _] at hb₁
rwa [← Encodable.encode_injective hb₁]
@@ -500,7 +500,7 @@ theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsF
{i : Set α} (hi : MeasurableSet i) :
(μ.toSignedMeasure - ν.toSignedMeasure) i = (μ i).toReal - (ν i).toReal := by
rw [VectorMeasure.sub_apply, toSignedMeasure_apply_measurable hi,
- Measure.toSignedMeasure_apply_measurable hi, sub_eq_add_neg]
+ Measure.toSignedMeasure_apply_measurable hi]
#align measure_theory.measure.to_signed_measure_sub_apply MeasureTheory.Measure.toSignedMeasure_sub_apply
end Measure
NNReal
coercion lemmas (#10214)
Add a few missing lemmas about the coercion NNReal → Real
. Remove a bunch of protected
on the existing coercion lemmas (so that it matches the convention for other coercions). Rename NNReal.coe_eq
to NNReal.coe_inj
From LeanAPAP
@@ -1409,7 +1409,7 @@ theorem toSignedMeasure_toMeasureOfZeroLE :
((le_restrict_univ_iff_le _ _).2 (zero_le_toSignedMeasure μ)) = μ := by
refine' Measure.ext fun i hi => _
lift μ i to ℝ≥0 using (measure_lt_top _ _).ne with m hm
- rw [SignedMeasure.toMeasureOfZeroLE_apply _ _ _ hi, coe_inj]
+ rw [SignedMeasure.toMeasureOfZeroLE_apply _ _ _ hi, ENNReal.coe_inj]
congr
simp [hi, ← hm]
#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLE
ℝ≥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
@@ -1409,7 +1409,7 @@ theorem toSignedMeasure_toMeasureOfZeroLE :
((le_restrict_univ_iff_le _ _).2 (zero_le_toSignedMeasure μ)) = μ := by
refine' Measure.ext fun i hi => _
lift μ i to ℝ≥0 using (measure_lt_top _ _).ne with m hm
- rw [SignedMeasure.toMeasureOfZeroLE_apply _ _ _ hi, coe_eq_coe]
+ rw [SignedMeasure.toMeasureOfZeroLE_apply _ _ _ hi, coe_inj]
congr
simp [hi, ← hm]
#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLE
@@ -1167,7 +1167,7 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ t ⊆ s, MeasurableSet t → v t = 0)
- (h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w := by
+ (h₂ : ∀ t ⊆ sᶜ, MeasurableSet t → w t = 0) : v ⟂ᵥ w := by
refine' ⟨s, hs, fun t hst => _, fun t hst => _⟩ <;> by_cases ht : MeasurableSet t
· exact h₁ t hst ht
· exact not_measurable v ht
@@ -1156,7 +1156,7 @@ to use. This is equivalent to the definition which requires measurability. To pr
`MutuallySingular` with the measurability condition, use
`MeasureTheory.VectorMeasure.MutuallySingular.mk`. -/
def MutuallySingular (v : VectorMeasure α M) (w : VectorMeasure α N) : Prop :=
- ∃ s : Set α, MeasurableSet s ∧ (∀ t ⊆ s, v t = 0) ∧ ∀ (t) (_ : t ⊆ sᶜ), w t = 0
+ ∃ s : Set α, MeasurableSet s ∧ (∀ t ⊆ s, v t = 0) ∧ ∀ t ⊆ sᶜ, w t = 0
#align measure_theory.vector_measure.mutually_singular MeasureTheory.VectorMeasure.MutuallySingular
@[inherit_doc VectorMeasure.MutuallySingular]
∃ x ∈ s, _
instead of ∃ (x) (_ : x ∈ s), _
(#9184)
Search for [∀∃].*(_
and manually replace some occurrences with more readable versions.
In case of ∀
, the new expressions are defeq to the old ones.
In case of ∃
, they differ by exists_prop
.
In some rare cases, golf proofs that needed fixing.
@@ -1156,7 +1156,7 @@ to use. This is equivalent to the definition which requires measurability. To pr
`MutuallySingular` with the measurability condition, use
`MeasureTheory.VectorMeasure.MutuallySingular.mk`. -/
def MutuallySingular (v : VectorMeasure α M) (w : VectorMeasure α N) : Prop :=
- ∃ s : Set α, MeasurableSet s ∧ (∀ (t) (_ : t ⊆ s), v t = 0) ∧ ∀ (t) (_ : t ⊆ sᶜ), w t = 0
+ ∃ s : Set α, MeasurableSet s ∧ (∀ t ⊆ s, v t = 0) ∧ ∀ (t) (_ : t ⊆ sᶜ), w t = 0
#align measure_theory.vector_measure.mutually_singular MeasureTheory.VectorMeasure.MutuallySingular
@[inherit_doc VectorMeasure.MutuallySingular]
@@ -1166,7 +1166,7 @@ namespace MutuallySingular
variable {v v₁ v₂ : VectorMeasure α M} {w w₁ w₂ : VectorMeasure α N}
-theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ (t) (_ : t ⊆ s), MeasurableSet t → v t = 0)
+theorem mk (s : Set α) (hs : MeasurableSet s) (h₁ : ∀ t ⊆ s, MeasurableSet t → v t = 0)
(h₂ : ∀ (t) (_ : t ⊆ sᶜ), MeasurableSet t → w t = 0) : v ⟂ᵥ w := by
refine' ⟨s, hs, fun t hst => _, fun t hst => _⟩ <;> by_cases ht : MeasurableSet t
· exact h₁ t hst ht
@@ -521,6 +521,17 @@ theorem ennrealToMeasure_apply {m : MeasurableSpace α} {v : VectorMeasure α
rw [ennrealToMeasure, ofMeasurable_apply _ hs]
#align measure_theory.vector_measure.ennreal_to_measure_apply MeasureTheory.VectorMeasure.ennrealToMeasure_apply
+@[simp]
+theorem _root_.MeasureTheory.Measure.toENNRealVectorMeasure_ennrealToMeasure
+ (μ : VectorMeasure α ℝ≥0∞) :
+ toENNRealVectorMeasure (ennrealToMeasure μ) = μ := ext fun s hs => by
+ rw [toENNRealVectorMeasure_apply_measurable hs, ennrealToMeasure_apply hs]
+
+@[simp]
+theorem ennrealToMeasure_toENNRealVectorMeasure (μ : Measure α) :
+ ennrealToMeasure (toENNRealVectorMeasure μ) = μ := Measure.ext fun s hs => by
+ rw [ennrealToMeasure_apply hs, toENNRealVectorMeasure_apply_measurable hs]
+
/-- The equiv between `VectorMeasure α ℝ≥0∞` and `Measure α` formed by
`MeasureTheory.VectorMeasure.ennrealToMeasure` and
`MeasureTheory.Measure.toENNRealVectorMeasure`. -/
@@ -528,10 +539,8 @@ theorem ennrealToMeasure_apply {m : MeasurableSpace α} {v : VectorMeasure α
def equivMeasure [MeasurableSpace α] : VectorMeasure α ℝ≥0∞ ≃ Measure α where
toFun := ennrealToMeasure
invFun := toENNRealVectorMeasure
- left_inv _ := ext fun s hs => by
- rw [toENNRealVectorMeasure_apply_measurable hs, ennrealToMeasure_apply hs]
- right_inv _ := Measure.ext fun s hs => by
- rw [ennrealToMeasure_apply hs, toENNRealVectorMeasure_apply_measurable hs]
+ left_inv := toENNRealVectorMeasure_ennrealToMeasure
+ right_inv := ennrealToMeasure_toENNRealVectorMeasure
#align measure_theory.vector_measure.equiv_measure MeasureTheory.VectorMeasure.equivMeasure
end
@@ -54,7 +54,7 @@ variable {α β : Type*} {m : MeasurableSpace α}
/-- A vector measure on a measurable space `α` is a σ-additive `M`-valued function (for some `M`
an add monoid) such that the empty set and non-measurable sets are mapped to zero. -/
structure VectorMeasure (α : Type*) [MeasurableSpace α] (M : Type*) [AddCommMonoid M]
- [TopologicalSpace M] where
+ [TopologicalSpace M] where
measureOf' : Set α → M
empty' : measureOf' ∅ = 0
not_measurable' ⦃i : Set α⦄ : ¬MeasurableSet i → measureOf' i = 0
@@ -701,8 +701,7 @@ theorem restrict_univ : v.restrict Set.univ = v :=
theorem restrict_zero {i : Set α} : (0 : VectorMeasure α M).restrict i = 0 := by
by_cases hi : MeasurableSet i
· ext j hj
- rw [restrict_apply 0 hi hj]
- rfl
+ rw [restrict_apply 0 hi hj, zero_apply, zero_apply]
· exact dif_neg hi
#align measure_theory.vector_measure.restrict_zero MeasureTheory.VectorMeasure.restrict_zero
@@ -1151,7 +1150,6 @@ def MutuallySingular (v : VectorMeasure α M) (w : VectorMeasure α N) : Prop :=
∃ s : Set α, MeasurableSet s ∧ (∀ (t) (_ : t ⊆ s), v t = 0) ∧ ∀ (t) (_ : t ⊆ sᶜ), w t = 0
#align measure_theory.vector_measure.mutually_singular MeasureTheory.VectorMeasure.MutuallySingular
--- mathport name: vector_measure.mutually_singular
@[inherit_doc VectorMeasure.MutuallySingular]
scoped[MeasureTheory] infixl:60 " ⟂ᵥ " => MeasureTheory.VectorMeasure.MutuallySingular
MeasureSpace.lean
into 3 files (#8389)
The original file MeasureSpace.lean
is a mess of 4580 lines, with a lot of changes of namespaces, active variables, and so on. We split it into three files:
MeasureSpace
, with 2095 lines left (some stuff could still be moved to other files, but it already makes much more sense)Restrict
, with everything on restriction of measures (1100 lines)Typeclasses
, defining finite measures, sigma-finite measures, and so on (1443 lines)The new files are still large, but less so. This is 99% moving around and ensuring that variables and namespaces remain the same (#align statements have been very useful for this), and 1% adding classical
in proofs and [Decidable ...]
assumptions in statements, as I haven't opened Classical
in the new files.
@@ -3,7 +3,7 @@ Copyright (c) 2021 Kexing Ying. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kexing Ying
-/
-import Mathlib.MeasureTheory.Measure.MeasureSpace
+import Mathlib.MeasureTheory.Measure.Typeclasses
import Mathlib.Analysis.Complex.Basic
#align_import measure_theory.measure.vector_measure from "leanprover-community/mathlib"@"70a4f2197832bceab57d7f41379b2592d1110570"
summable_of_norm_bounded
-> Summable.of_norm_bounded
;summable_of_norm_bounded_eventually
-> Summable.of_norm_bounded_eventually
;summable_of_nnnorm_bounded
-> Summable.of_nnnorm_bounded
;summable_of_summable_norm
-> Summable.of_norm
;summable_of_summable_nnnorm
-> Summable.of_nnnorm
;Summable.of_norm_bounded_eventually_nat
Summable.norm
@@ -412,24 +412,9 @@ def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure
empty' := by simp [μ.empty]
not_measurable' _ hi := if_neg hi
m_iUnion' f hf₁ hf₂ := by
- simp only
- rw [μ.m_iUnion hf₁ hf₂, ENNReal.tsum_toReal_eq, if_pos (MeasurableSet.iUnion hf₁),
- Summable.hasSum_iff]
- · congr
- ext n
- rw [if_pos (hf₁ n)]
- · refine' @summable_of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
- · intro
- split_ifs
- exacts [ENNReal.toReal_nonneg, le_rfl]
- · intro
- split_ifs
- exacts [le_rfl, ENNReal.toReal_nonneg]
- exact summable_measure_toReal hf₁ hf₂
- · intro a ha
- apply ne_of_lt hμ.measure_univ_lt_top
- rw [eq_top_iff, ← ha]
- exact measure_mono (Set.subset_univ _)
+ simp only [*, MeasurableSet.iUnion hf₁, if_true, measure_iUnion hf₂ hf₁]
+ rw [ENNReal.tsum_toReal_eq]
+ exacts [(summable_measure_toReal hf₁ hf₂).hasSum, fun _ ↦ measure_ne_top _ _]
#align measure_theory.measure.to_signed_measure MeasureTheory.Measure.toSignedMeasure
theorem toSignedMeasure_apply_measurable {μ : Measure α} [IsFiniteMeasure μ] {i : Set α}
Set
/Finset
lemmas match lattice lemma names (#7378)
Rename union_eq_left_iff_subset
to union_eq_left
to match sup_eq_left
. Similarly for the right
and inter
versions.
@@ -698,7 +698,7 @@ theorem restrict_apply {i : Set α} (hi : MeasurableSet i) {j : Set α} (hj : Me
theorem restrict_eq_self {i : Set α} (hi : MeasurableSet i) {j : Set α} (hj : MeasurableSet j)
(hij : j ⊆ i) : v.restrict i j = v j := by
- rw [restrict_apply v hi hj, Set.inter_eq_left_iff_subset.2 hij]
+ rw [restrict_apply v hi hj, Set.inter_eq_left.2 hij]
#align measure_theory.vector_measure.restrict_eq_self MeasureTheory.VectorMeasure.restrict_eq_self
@[simp]
@@ -936,7 +936,7 @@ theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, Measura
(hf₂ : ∀ n, v ≤[f n] w) : v ≤[⋃ n, f n] w := by
refine' restrict_le_restrict_of_subset_le v w fun a ha₁ ha₂ => _
have ha₃ : ⋃ n, a ∩ disjointed f n = a := by
- rwa [← Set.inter_iUnion, iUnion_disjointed, Set.inter_eq_left_iff_subset]
+ rwa [← Set.inter_iUnion, iUnion_disjointed, Set.inter_eq_left]
have ha₄ : Pairwise (Disjoint on fun n => a ∩ disjointed f n) :=
(disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
rw [← ha₃, v.of_disjoint_iUnion_nat _ ha₄, w.of_disjoint_iUnion_nat _ ha₄]
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -49,11 +49,11 @@ open Classical BigOperators NNReal ENNReal MeasureTheory
namespace MeasureTheory
-variable {α β : Type _} {m : MeasurableSpace α}
+variable {α β : Type*} {m : MeasurableSpace α}
/-- A vector measure on a measurable space `α` is a σ-additive `M`-valued function (for some `M`
an add monoid) such that the empty set and non-measurable sets are mapped to zero. -/
-structure VectorMeasure (α : Type _) [MeasurableSpace α] (M : Type _) [AddCommMonoid M]
+structure VectorMeasure (α : Type*) [MeasurableSpace α] (M : Type*) [AddCommMonoid M]
[TopologicalSpace M] where
measureOf' : Set α → M
empty' : measureOf' ∅ = 0
@@ -67,12 +67,12 @@ structure VectorMeasure (α : Type _) [MeasurableSpace α] (M : Type _) [AddComm
#align measure_theory.vector_measure.m_Union' MeasureTheory.VectorMeasure.m_iUnion'
/-- A `SignedMeasure` is an `ℝ`-vector measure. -/
-abbrev SignedMeasure (α : Type _) [MeasurableSpace α] :=
+abbrev SignedMeasure (α : Type*) [MeasurableSpace α] :=
VectorMeasure α ℝ
#align measure_theory.signed_measure MeasureTheory.SignedMeasure
/-- A `ComplexMeasure` is a `ℂ`-vector measure. -/
-abbrev ComplexMeasure (α : Type _) [MeasurableSpace α] :=
+abbrev ComplexMeasure (α : Type*) [MeasurableSpace α] :=
VectorMeasure α ℂ
#align measure_theory.complex_measure MeasureTheory.ComplexMeasure
@@ -82,7 +82,7 @@ namespace VectorMeasure
section
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
attribute [coe] VectorMeasure.measureOf'
@@ -193,7 +193,7 @@ theorem of_add_of_diff {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet
rw [← of_union (@Set.disjoint_sdiff_right _ A B) hA (hB.diff hA), Set.union_diff_cancel h]
#align measure_theory.vector_measure.of_add_of_diff MeasureTheory.VectorMeasure.of_add_of_diff
-theorem of_diff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [T2Space M]
+theorem of_diff {M : Type*} [AddCommGroup M] [TopologicalSpace M] [T2Space M]
{v : VectorMeasure α M} {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B)
(h : A ⊆ B) : v (B \ A) = v B - v A := by
rw [← of_add_of_diff hA hB h, add_sub_cancel']
@@ -218,13 +218,13 @@ theorem of_diff_of_diff_eq_zero {A B : Set α} (hA : MeasurableSet A) (hB : Meas
_ = v (A \ B) + v B := by rw [Set.union_comm, Set.inter_comm, Set.diff_union_inter]
#align measure_theory.vector_measure.of_diff_of_diff_eq_zero MeasureTheory.VectorMeasure.of_diff_of_diff_eq_zero
-theorem of_iUnion_nonneg {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
+theorem of_iUnion_nonneg {M : Type*} [TopologicalSpace M] [OrderedAddCommMonoid M]
[OrderClosedTopology M] {v : VectorMeasure α M} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) (hf₃ : ∀ i, 0 ≤ v (f i)) : 0 ≤ v (⋃ i, f i) :=
(v.of_disjoint_iUnion_nat hf₁ hf₂).symm ▸ tsum_nonneg hf₃
#align measure_theory.vector_measure.of_Union_nonneg MeasureTheory.VectorMeasure.of_iUnion_nonneg
-theorem of_iUnion_nonpos {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
+theorem of_iUnion_nonpos {M : Type*} [TopologicalSpace M] [OrderedAddCommMonoid M]
[OrderClosedTopology M] {v : VectorMeasure α M} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) (hf₃ : ∀ i, v (f i) ≤ 0) : v (⋃ i, f i) ≤ 0 :=
(v.of_disjoint_iUnion_nat hf₁ hf₂).symm ▸ tsum_nonpos hf₃
@@ -248,9 +248,9 @@ end
section SMul
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
+variable {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
/-- Given a real number `r` and a signed measure `s`, `smul r s` is the signed
measure corresponding to the function `r • s`. -/
@@ -276,7 +276,7 @@ end SMul
section AddCommMonoid
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
instance instZero : Zero (VectorMeasure α M) :=
⟨⟨0, rfl, fun _ _ => rfl, fun _ _ _ => hasSum_zero⟩⟩
@@ -330,7 +330,7 @@ end AddCommMonoid
section AddCommGroup
-variable {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+variable {M : Type*} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
/-- The negative of a vector measure is a vector measure. -/
def neg (v : VectorMeasure α M) : VectorMeasure α M where
@@ -379,9 +379,9 @@ end AddCommGroup
section DistribMulAction
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
+variable {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
instance instDistribMulAction [ContinuousAdd M] : DistribMulAction R (VectorMeasure α M) :=
Function.Injective.distribMulAction coeFnAddMonoidHom coe_injective coe_smul
@@ -391,9 +391,9 @@ end DistribMulAction
section Module
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-variable {R : Type _} [Semiring R] [Module R M] [ContinuousConstSMul R M]
+variable {R : Type*} [Semiring R] [Module R M] [ContinuousConstSMul R M]
instance instModule [ContinuousAdd M] : Module R (VectorMeasure α M) :=
Function.Injective.module R coeFnAddMonoidHom coe_injective coe_smul
@@ -555,7 +555,7 @@ section
variable [MeasurableSpace α] [MeasurableSpace β]
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
variable (v : VectorMeasure α M)
@@ -599,7 +599,7 @@ theorem map_zero (f : α → β) : (0 : VectorMeasure α M).map f = 0 := by
section
-variable {N : Type _} [AddCommMonoid N] [TopologicalSpace N]
+variable {N : Type*} [AddCommMonoid N] [TopologicalSpace N]
/-- Given a vector measure `v` on `M` and a continuous `AddMonoidHom` `f : M → N`, `f ∘ v` is a
vector measure on `N`. -/
@@ -651,7 +651,7 @@ end ContinuousAdd
section Module
-variable {R : Type _} [Semiring R] [Module R M] [Module R N]
+variable {R : Type*} [Semiring R] [Module R M] [Module R N]
variable [ContinuousAdd M] [ContinuousAdd N] [ContinuousConstSMul R M] [ContinuousConstSMul R N]
@@ -764,9 +764,9 @@ section
variable [MeasurableSpace β]
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
+variable {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M]
@[simp]
theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).map f = c • v.map f := by
@@ -797,9 +797,9 @@ section
variable [MeasurableSpace β]
-variable {M : Type _} [AddCommMonoid M] [TopologicalSpace M]
+variable {M : Type*} [AddCommMonoid M] [TopologicalSpace M]
-variable {R : Type _} [Semiring R] [Module R M] [ContinuousConstSMul R M] [ContinuousAdd M]
+variable {R : Type*} [Semiring R] [Module R M] [ContinuousConstSMul R M] [ContinuousAdd M]
/-- `VectorMeasure.map` as a linear map. -/
@[simps]
@@ -821,7 +821,7 @@ end
section
-variable {M : Type _} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
+variable {M : Type*} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
/-- Vector measures over a partially ordered monoid is partially ordered.
@@ -854,7 +854,7 @@ scoped[MeasureTheory]
section
-variable {M : Type _} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
+variable {M : Type*} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
variable (v w : VectorMeasure α M)
@@ -907,7 +907,7 @@ end
section
-variable {M : Type _} [TopologicalSpace M] [OrderedAddCommGroup M] [TopologicalAddGroup M]
+variable {M : Type*} [TopologicalSpace M] [OrderedAddCommGroup M] [TopologicalAddGroup M]
variable (v w : VectorMeasure α M)
@@ -928,7 +928,7 @@ end
section
-variable {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M] [OrderClosedTopology M]
+variable {M : Type*} [TopologicalSpace M] [OrderedAddCommMonoid M] [OrderClosedTopology M]
variable (v w : VectorMeasure α M) {i j : Set α}
@@ -979,7 +979,7 @@ end
section
-variable {M : Type _} [TopologicalSpace M] [OrderedAddCommMonoid M]
+variable {M : Type*} [TopologicalSpace M] [OrderedAddCommMonoid M]
variable (v w : VectorMeasure α M) {i j : Set α}
@@ -1025,7 +1025,7 @@ end
section
-variable {M : Type _} [TopologicalSpace M] [LinearOrderedAddCommMonoid M]
+variable {M : Type*} [TopologicalSpace M] [LinearOrderedAddCommMonoid M]
variable (v w : VectorMeasure α M) {i j : Set α}
@@ -1041,7 +1041,7 @@ end
section
-variable {M : Type _} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
+variable {M : Type*} [TopologicalSpace M] [AddCommMonoid M] [PartialOrder M]
[CovariantClass M M (· + ·) (· ≤ ·)] [ContinuousAdd M]
instance covariant_add_le :
@@ -1053,7 +1053,7 @@ end
section
-variable {L M N : Type _}
+variable {L M N : Type*}
variable [AddCommMonoid L] [TopologicalSpace L] [AddCommMonoid M] [TopologicalSpace M]
[AddCommMonoid N] [TopologicalSpace N]
@@ -1100,13 +1100,13 @@ theorem zero (v : VectorMeasure α N) : (0 : VectorMeasure α M) ≪ᵥ v :=
fun s _ => VectorMeasure.zero_apply s
#align measure_theory.vector_measure.absolutely_continuous.zero MeasureTheory.VectorMeasure.AbsolutelyContinuous.zero
-theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+theorem neg_left {M : Type*} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : -v ≪ᵥ w := by
intro s hs
rw [neg_apply, h hs, neg_zero]
#align measure_theory.vector_measure.absolutely_continuous.neg_left MeasureTheory.VectorMeasure.AbsolutelyContinuous.neg_left
-theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
+theorem neg_right {N : Type*} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : v ≪ᵥ -w := by
intro s hs
rw [neg_apply, neg_eq_zero] at hs
@@ -1119,14 +1119,14 @@ theorem add [ContinuousAdd M] {v₁ v₂ : VectorMeasure α M} {w : VectorMeasur
rw [add_apply, hv₁ hs, hv₂ hs, zero_add]
#align measure_theory.vector_measure.absolutely_continuous.add MeasureTheory.VectorMeasure.AbsolutelyContinuous.add
-theorem sub {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+theorem sub {M : Type*} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v₁ v₂ : VectorMeasure α M} {w : VectorMeasure α N} (hv₁ : v₁ ≪ᵥ w) (hv₂ : v₂ ≪ᵥ w) :
v₁ - v₂ ≪ᵥ w := by
intro s hs
rw [sub_apply, hv₁ hs, hv₂ hs, zero_sub, neg_zero]
#align measure_theory.vector_measure.absolutely_continuous.sub MeasureTheory.VectorMeasure.AbsolutelyContinuous.sub
-theorem smul {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] {r : R}
+theorem smul {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] {r : R}
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ≪ᵥ w) : r • v ≪ᵥ w := by
intro s hs
rw [smul_apply, h hs, smul_zero]
@@ -1221,18 +1221,18 @@ theorem add_right [T2Space M] [ContinuousAdd N] (h₁ : v ⟂ᵥ w₁) (h₂ : v
(add_left h₁.symm h₂.symm).symm
#align measure_theory.vector_measure.mutually_singular.add_right MeasureTheory.VectorMeasure.MutuallySingular.add_right
-theorem smul_right {R : Type _} [Semiring R] [DistribMulAction R N] [ContinuousConstSMul R N]
+theorem smul_right {R : Type*} [Semiring R] [DistribMulAction R N] [ContinuousConstSMul R N]
(r : R) (h : v ⟂ᵥ w) : v ⟂ᵥ r • w :=
let ⟨s, hmeas, hs₁, hs₂⟩ := h
⟨s, hmeas, hs₁, fun t ht => by simp only [coe_smul, Pi.smul_apply, hs₂ t ht, smul_zero]⟩
#align measure_theory.vector_measure.mutually_singular.smul_right MeasureTheory.VectorMeasure.MutuallySingular.smul_right
-theorem smul_left {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] (r : R)
+theorem smul_left {R : Type*} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R M] (r : R)
(h : v ⟂ᵥ w) : r • v ⟂ᵥ w :=
(smul_right r h.symm).symm
#align measure_theory.vector_measure.mutually_singular.smul_left MeasureTheory.VectorMeasure.MutuallySingular.smul_left
-theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+theorem neg_left {M : Type*} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ⟂ᵥ w) : -v ⟂ᵥ w := by
obtain ⟨u, hmu, hu₁, hu₂⟩ := h
refine' ⟨u, hmu, fun s hs => _, hu₂⟩
@@ -1240,19 +1240,19 @@ theorem neg_left {M : Type _} [AddCommGroup M] [TopologicalSpace M] [Topological
exact hu₁ s hs
#align measure_theory.vector_measure.mutually_singular.neg_left MeasureTheory.VectorMeasure.MutuallySingular.neg_left
-theorem neg_right {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
+theorem neg_right {N : Type*} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} (h : v ⟂ᵥ w) : v ⟂ᵥ -w :=
h.symm.neg_left.symm
#align measure_theory.vector_measure.mutually_singular.neg_right MeasureTheory.VectorMeasure.MutuallySingular.neg_right
@[simp]
-theorem neg_left_iff {M : Type _} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
+theorem neg_left_iff {M : Type*} [AddCommGroup M] [TopologicalSpace M] [TopologicalAddGroup M]
{v : VectorMeasure α M} {w : VectorMeasure α N} : -v ⟂ᵥ w ↔ v ⟂ᵥ w :=
⟨fun h => neg_neg v ▸ h.neg_left, neg_left⟩
#align measure_theory.vector_measure.mutually_singular.neg_left_iff MeasureTheory.VectorMeasure.MutuallySingular.neg_left_iff
@[simp]
-theorem neg_right_iff {N : Type _} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
+theorem neg_right_iff {N : Type*} [AddCommGroup N] [TopologicalSpace N] [TopologicalAddGroup N]
{v : VectorMeasure α M} {w : VectorMeasure α N} : v ⟂ᵥ -w ↔ v ⟂ᵥ w :=
⟨fun h => neg_neg w ▸ h.neg_right, neg_right⟩
#align measure_theory.vector_measure.mutually_singular.neg_right_iff MeasureTheory.VectorMeasure.MutuallySingular.neg_right_iff
@@ -2,15 +2,12 @@
Copyright (c) 2021 Kexing Ying. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kexing Ying
-
-! This file was ported from Lean 3 source module measure_theory.measure.vector_measure
-! leanprover-community/mathlib commit 70a4f2197832bceab57d7f41379b2592d1110570
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.MeasureTheory.Measure.MeasureSpace
import Mathlib.Analysis.Complex.Basic
+#align_import measure_theory.measure.vector_measure from "leanprover-community/mathlib"@"70a4f2197832bceab57d7f41379b2592d1110570"
+
/-!
# Vector valued measures
@@ -938,7 +938,7 @@ variable (v w : VectorMeasure α M) {i j : Set α}
theorem restrict_le_restrict_iUnion {f : ℕ → Set α} (hf₁ : ∀ n, MeasurableSet (f n))
(hf₂ : ∀ n, v ≤[f n] w) : v ≤[⋃ n, f n] w := by
refine' restrict_le_restrict_of_subset_le v w fun a ha₁ ha₂ => _
- have ha₃ : (⋃ n, a ∩ disjointed f n) = a := by
+ have ha₃ : ⋃ n, a ∩ disjointed f n = a := by
rwa [← Set.inter_iUnion, iUnion_disjointed, Set.inter_eq_left_iff_subset]
have ha₄ : Pairwise (Disjoint on fun n => a ∩ disjointed f n) :=
(disjoint_disjointed _).mono fun i j => Disjoint.mono inf_le_right inf_le_right
Fix the set tactic to not time out when dealing with slow to elaborate terms and many local hypotheses.
The root cause of this is that the rewrite [blah] at *
tactic causes blah to be elaborated again and again for each local hypothesis, this is possibly a core issue that should be fixed separately, but in set
we have the elaborated term already so we can just use it.
We also add some functionality to simply test / demonstrate failures when elaboration takes too long, namely sleepAtLeastHeartbeats
and a sleep_heartbeats
tactic.
@urkud was facing some slow running set's in https://github.com/leanprover-community/mathlib4/pull/4912, see https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Timeout.20in.20.60set.20.2E.2E.20with.60/near/367958828 that this issue was minimized from and should fix.
Some other linter failures show up due to changes to the set internals so fix these too.
Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>
@@ -148,7 +148,7 @@ variable [T2Space M] {v : VectorMeasure α M} {f : ℕ → Set α}
theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ : ∀ i, MeasurableSet (f i))
(hf₂ : Pairwise (Disjoint on f)) : HasSum (fun i => v (f i)) (v (⋃ i, f i)) := by
cases nonempty_encodable β
- set g := fun i : ℕ => ⋃ (b : β) (H : b ∈ Encodable.decode₂ β i), f b with hg
+ set g := fun i : ℕ => ⋃ (b : β) (_ : b ∈ Encodable.decode₂ β i), f b with hg
have hg₁ : ∀ i, MeasurableSet (g i) :=
fun _ => MeasurableSet.iUnion fun b => MeasurableSet.iUnion fun _ => hf₁ b
have hg₂ : Pairwise (Disjoint on g) := Encodable.iUnion_decode₂_disjoint_on hf₂
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -175,7 +175,7 @@ theorem hasSum_of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ :
· exact (v.m_iUnion hg₁ hg₂).summable
· intro x hx
convert v.empty
- simp only [Set.iUnion_eq_empty, Option.mem_def, not_exists, Set.mem_range] at hx⊢
+ simp only [Set.iUnion_eq_empty, Option.mem_def, not_exists, Set.mem_range] at hx ⊢
intro i hi
exact False.elim ((hx i) ((Encodable.decode₂_is_partial_inv _ _).1 hi))
#align measure_theory.vector_measure.has_sum_of_disjoint_Union MeasureTheory.VectorMeasure.hasSum_of_disjoint_iUnion
@@ -1138,7 +1138,7 @@ theorem smul {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSM
theorem map [MeasureSpace β] (h : v ≪ᵥ w) (f : α → β) : v.map f ≪ᵥ w.map f := by
by_cases hf : Measurable f
· refine' mk fun s hs hws => _
- rw [map_apply _ hf hs] at hws⊢
+ rw [map_apply _ hf hs] at hws ⊢
exact h hws
· intro s _
rw [map_not_measurable v hf, zero_apply]
@@ -467,8 +467,7 @@ theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by
@[simp]
theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteMeasure ν] :
(μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure := by
- ext i
- intro hi
+ ext i hi
rw [toSignedMeasure_apply_measurable hi, add_apply,
ENNReal.toReal_add (ne_of_lt (measure_lt_top _ _)) (ne_of_lt (measure_lt_top _ _)),
VectorMeasure.add_apply, toSignedMeasure_apply_measurable hi,
@@ -478,8 +477,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteM
@[simp]
theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0) :
(r • μ).toSignedMeasure = r • μ.toSignedMeasure := by
- ext i
- intro hi
+ ext i hi
rw [toSignedMeasure_apply_measurable hi, VectorMeasure.smul_apply,
toSignedMeasure_apply_measurable hi, coe_smul, Pi.smul_apply, ENNReal.toReal_smul]
#align measure_theory.measure.to_signed_measure_smul MeasureTheory.Measure.toSignedMeasure_smul
@@ -597,8 +595,7 @@ theorem map_id : v.map id = v :=
@[simp]
theorem map_zero (f : α → β) : (0 : VectorMeasure α M).map f = 0 := by
by_cases hf : Measurable f
- · ext i
- intro hi
+ · ext i hi
rw [map_apply _ hf hi, zero_apply, zero_apply]
· exact dif_neg hf
#align measure_theory.vector_measure.map_zero MeasureTheory.VectorMeasure.map_zero
@@ -721,8 +718,7 @@ theorem restrict_univ : v.restrict Set.univ = v :=
@[simp]
theorem restrict_zero {i : Set α} : (0 : VectorMeasure α M).restrict i = 0 := by
by_cases hi : MeasurableSet i
- · ext j
- intro hj
+ · ext j hj
rw [restrict_apply 0 hi hj]
rfl
· exact dif_neg hi
@@ -734,8 +730,7 @@ variable [ContinuousAdd M]
theorem map_add (v w : VectorMeasure α M) (f : α → β) : (v + w).map f = v.map f + w.map f := by
by_cases hf : Measurable f
- · ext i
- intro hi
+ · ext i hi
simp [map_apply _ hf hi]
· simp [map, dif_neg hf]
#align measure_theory.vector_measure.map_add MeasureTheory.VectorMeasure.map_add
@@ -751,8 +746,7 @@ def mapGm (f : α → β) : VectorMeasure α M →+ VectorMeasure β M where
theorem restrict_add (v w : VectorMeasure α M) (i : Set α) :
(v + w).restrict i = v.restrict i + w.restrict i := by
by_cases hi : MeasurableSet i
- · ext j
- intro hj
+ · ext j hj
simp [restrict_apply _ hi hj]
· simp [restrict_not_measurable _ hi]
#align measure_theory.vector_measure.restrict_add MeasureTheory.VectorMeasure.restrict_add
@@ -780,8 +774,7 @@ variable {R : Type _} [Semiring R] [DistribMulAction R M] [ContinuousConstSMul R
@[simp]
theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).map f = c • v.map f := by
by_cases hf : Measurable f
- · ext i
- intro hi
+ · ext i hi
simp [map_apply _ hf hi]
· simp only [map, dif_neg hf]
-- `smul_zero` does not work since we do not require `ContinuousAdd`
@@ -793,8 +786,7 @@ theorem map_smul {v : VectorMeasure α M} {f : α → β} (c : R) : (c • v).ma
theorem restrict_smul {v : VectorMeasure α M} {i : Set α} (c : R) :
(c • v).restrict i = c • v.restrict i := by
by_cases hi : MeasurableSet i
- · ext j
- intro hj
+ · ext j hj
simp [restrict_apply _ hi hj]
· simp only [restrict_not_measurable _ hi]
-- `smul_zero` does not work since we do not require `ContinuousAdd`
@@ -1292,13 +1284,13 @@ def trim {m n : MeasurableSpace α} (v : VectorMeasure α M) (hle : m ≤ n) :
variable {n : MeasurableSpace α} {v : VectorMeasure α M}
theorem trim_eq_self : v.trim le_rfl = v := by
- ext1 i hi
+ ext i hi
exact if_pos hi
#align measure_theory.vector_measure.trim_eq_self MeasureTheory.VectorMeasure.trim_eq_self
@[simp]
theorem zero_trim (hle : m ≤ n) : (0 : VectorMeasure α M).trim hle = 0 := by
- ext1 i hi
+ ext i hi
exact if_pos hi
#align measure_theory.vector_measure.zero_trim MeasureTheory.VectorMeasure.zero_trim
@@ -1309,8 +1301,7 @@ theorem trim_measurableSet_eq (hle : m ≤ n) {i : Set α} (hi : MeasurableSet[m
theorem restrict_trim (hle : m ≤ n) {i : Set α} (hi : MeasurableSet[m] i) :
@VectorMeasure.restrict α m M _ _ (v.trim hle) i = (v.restrict i).trim hle := by
- ext j
- intro hj
+ ext j hj
rw [@restrict_apply _ m, trim_measurableSet_eq hle hj, restrict_apply, trim_measurableSet_eq]
all_goals measurability
#align measure_theory.vector_measure.restrict_trim MeasureTheory.VectorMeasure.restrict_trim
@@ -1399,15 +1390,13 @@ instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
theorem toMeasureOfZeroLE_toSignedMeasure (hs : 0 ≤[Set.univ] s) :
(s.toMeasureOfZeroLE Set.univ MeasurableSet.univ hs).toSignedMeasure = s := by
- ext i
- intro hi
+ ext i hi
simp [hi, toMeasureOfZeroLE_apply _ _ _ hi]
#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLE_toSignedMeasure
theorem toMeasureOfLEZero_toSignedMeasure (hs : s ≤[Set.univ] 0) :
(s.toMeasureOfLEZero Set.univ MeasurableSet.univ hs).toSignedMeasure = -s := by
- ext i
- intro hi
+ ext i hi
simp [hi, toMeasureOfLEZero_apply _ _ _ hi]
#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLEZero_toSignedMeasure
@@ -15,7 +15,7 @@ import Mathlib.Analysis.Complex.Basic
# Vector valued measures
-This file defines vector valued measures, which are σ-additive functions from a set to a add monoid
+This file defines vector valued measures, which are σ-additive functions from a set to an add monoid
`M` such that it maps the empty set and non-measurable sets to zero. In the case
that `M = ℝ`, we called the vector measure a signed measure and write `SignedMeasure α`.
Similarly, when `M = ℂ`, we call the measure a complex measure and write `ComplexMeasure α`.
@@ -38,7 +38,7 @@ We require all non-measurable sets to be mapped to zero in order for the extensi
to only compare the underlying functions for measurable sets.
We use `HasSum` instead of `tsum` in the definition of vector measures in comparison to `Measure`
-since this provides summablity.
+since this provides summability.
## Tags
@@ -188,7 +188,7 @@ theorem of_disjoint_iUnion [Countable β] {f : β → Set α} (hf₁ : ∀ i, Me
theorem of_union {A B : Set α} (h : Disjoint A B) (hA : MeasurableSet A) (hB : MeasurableSet B) :
v (A ∪ B) = v A + v B := by
rw [Set.union_eq_iUnion, of_disjoint_iUnion, tsum_fintype, Fintype.sum_bool, cond, cond]
- exacts[fun b => Bool.casesOn b hB hA, pairwise_disjoint_on_bool.2 h]
+ exacts [fun b => Bool.casesOn b hB hA, pairwise_disjoint_on_bool.2 h]
#align measure_theory.vector_measure.of_union MeasureTheory.VectorMeasure.of_union
theorem of_add_of_diff {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B) (h : A ⊆ B) :
@@ -424,10 +424,10 @@ def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure
· refine' @summable_of_nonneg_of_le _ (ENNReal.toReal ∘ μ ∘ f) _ _ _ _
· intro
split_ifs
- exacts[ENNReal.toReal_nonneg, le_rfl]
+ exacts [ENNReal.toReal_nonneg, le_rfl]
· intro
split_ifs
- exacts[le_rfl, ENNReal.toReal_nonneg]
+ exacts [le_rfl, ENNReal.toReal_nonneg]
exact summable_measure_toReal hf₁ hf₂
· intro a ha
apply ne_of_lt hμ.measure_univ_lt_top
@@ -1224,7 +1224,7 @@ theorem add_left [T2Space N] [ContinuousAdd M] (h₁ : v₁ ⟂ᵥ w) (h₂ : v
· by_cases hxu' : x ∈ uᶜ
· exact Or.inl ⟨hxu', hx⟩
rcases ht hx with (hxu | hxv)
- exacts[False.elim (hxu' hxu), Or.inr ⟨⟨hxv, hxu'⟩, hx⟩]
+ exacts [False.elim (hxu' hxu), Or.inr ⟨⟨hxv, hxu'⟩, hx⟩]
· cases' hx with hx hx <;> exact hx.2
#align measure_theory.vector_measure.mutually_singular.add_left MeasureTheory.VectorMeasure.MutuallySingular.add_left
@@ -486,7 +486,7 @@ theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0
/-- A measure is a vector measure over `ℝ≥0∞`. -/
@[simps]
-def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞ where
+def toENNRealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞ where
measureOf' := fun i : Set α => if MeasurableSet i then μ i else 0
empty' := by simp [μ.empty]
not_measurable' _ hi := if_neg hi
@@ -495,26 +495,26 @@ def toEnnrealVectorMeasure (μ : Measure α) : VectorMeasure α ℝ≥0∞ where
rw [Summable.hasSum_iff ENNReal.summable, if_pos (MeasurableSet.iUnion hf₁),
MeasureTheory.measure_iUnion hf₂ hf₁]
exact tsum_congr fun n => if_pos (hf₁ n)
-#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toEnnrealVectorMeasure
+#align measure_theory.measure.to_ennreal_vector_measure MeasureTheory.Measure.toENNRealVectorMeasure
-theorem toEnnrealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (hi : MeasurableSet i) :
- μ.toEnnrealVectorMeasure i = μ i :=
+theorem toENNRealVectorMeasure_apply_measurable {μ : Measure α} {i : Set α} (hi : MeasurableSet i) :
+ μ.toENNRealVectorMeasure i = μ i :=
if_pos hi
-#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toEnnrealVectorMeasure_apply_measurable
+#align measure_theory.measure.to_ennreal_vector_measure_apply_measurable MeasureTheory.Measure.toENNRealVectorMeasure_apply_measurable
@[simp]
-theorem toEnnrealVectorMeasure_zero : (0 : Measure α).toEnnrealVectorMeasure = 0 := by
+theorem toENNRealVectorMeasure_zero : (0 : Measure α).toENNRealVectorMeasure = 0 := by
ext i
simp
-#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toEnnrealVectorMeasure_zero
+#align measure_theory.measure.to_ennreal_vector_measure_zero MeasureTheory.Measure.toENNRealVectorMeasure_zero
@[simp]
-theorem toEnnrealVectorMeasure_add (μ ν : Measure α) :
- (μ + ν).toEnnrealVectorMeasure = μ.toEnnrealVectorMeasure + ν.toEnnrealVectorMeasure := by
+theorem toENNRealVectorMeasure_add (μ ν : Measure α) :
+ (μ + ν).toENNRealVectorMeasure = μ.toENNRealVectorMeasure + ν.toENNRealVectorMeasure := by
refine' MeasureTheory.VectorMeasure.ext fun i hi => _
- rw [toEnnrealVectorMeasure_apply_measurable hi, add_apply, VectorMeasure.add_apply,
- toEnnrealVectorMeasure_apply_measurable hi, toEnnrealVectorMeasure_apply_measurable hi]
-#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toEnnrealVectorMeasure_add
+ rw [toENNRealVectorMeasure_apply_measurable hi, add_apply, VectorMeasure.add_apply,
+ toENNRealVectorMeasure_apply_measurable hi, toENNRealVectorMeasure_apply_measurable hi]
+#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toENNRealVectorMeasure_add
theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
{i : Set α} (hi : MeasurableSet i) :
@@ -543,15 +543,15 @@ theorem ennrealToMeasure_apply {m : MeasurableSpace α} {v : VectorMeasure α
/-- The equiv between `VectorMeasure α ℝ≥0∞` and `Measure α` formed by
`MeasureTheory.VectorMeasure.ennrealToMeasure` and
-`MeasureTheory.Measure.toEnnrealVectorMeasure`. -/
+`MeasureTheory.Measure.toENNRealVectorMeasure`. -/
@[simps]
def equivMeasure [MeasurableSpace α] : VectorMeasure α ℝ≥0∞ ≃ Measure α where
toFun := ennrealToMeasure
- invFun := toEnnrealVectorMeasure
+ invFun := toENNRealVectorMeasure
left_inv _ := ext fun s hs => by
- rw [toEnnrealVectorMeasure_apply_measurable hs, ennrealToMeasure_apply hs]
+ rw [toENNRealVectorMeasure_apply_measurable hs, ennrealToMeasure_apply hs]
right_inv _ := Measure.ext fun s hs => by
- rw [ennrealToMeasure_apply hs, toEnnrealVectorMeasure_apply_measurable hs]
+ rw [ennrealToMeasure_apply hs, toENNRealVectorMeasure_apply_measurable hs]
#align measure_theory.vector_measure.equiv_measure MeasureTheory.VectorMeasure.equivMeasure
end
Is
of Foo
which is ported from is_foo
(#4639)
I have misported is_foo
to Foo
because I misunderstood the rule for IsLawfulFoo
.
This PR recover Is
of Foo
which is ported from is_foo
.
This PR also renames some misported theorems.
@@ -410,7 +410,7 @@ namespace Measure
/-- A finite measure coerced into a real function is a signed measure. -/
@[simps]
-def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure α where
+def toSignedMeasure (μ : Measure α) [hμ : IsFiniteMeasure μ] : SignedMeasure α where
measureOf' := fun i : Set α => if MeasurableSet i then (μ.measureOf i).toReal else 0
empty' := by simp [μ.empty]
not_measurable' _ hi := if_neg hi
@@ -435,20 +435,20 @@ def toSignedMeasure (μ : Measure α) [hμ : FiniteMeasure μ] : SignedMeasure
exact measure_mono (Set.subset_univ _)
#align measure_theory.measure.to_signed_measure MeasureTheory.Measure.toSignedMeasure
-theorem toSignedMeasure_apply_measurable {μ : Measure α} [FiniteMeasure μ] {i : Set α}
+theorem toSignedMeasure_apply_measurable {μ : Measure α} [IsFiniteMeasure μ] {i : Set α}
(hi : MeasurableSet i) : μ.toSignedMeasure i = (μ i).toReal :=
if_pos hi
#align measure_theory.measure.to_signed_measure_apply_measurable MeasureTheory.Measure.toSignedMeasure_apply_measurable
-- Without this lemma, `singularPart_neg` in `MeasureTheory.Decomposition.Lebesgue` is
-- extremely slow
-theorem toSignedMeasure_congr {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] (h : μ = ν) :
- μ.toSignedMeasure = ν.toSignedMeasure := by
+theorem toSignedMeasure_congr {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
+ (h : μ = ν) : μ.toSignedMeasure = ν.toSignedMeasure := by
congr
#align measure_theory.measure.to_signed_measure_congr MeasureTheory.Measure.toSignedMeasure_congr
-theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [FiniteMeasure μ]
- [FiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν := by
+theorem toSignedMeasure_eq_toSignedMeasure_iff {μ ν : Measure α} [IsFiniteMeasure μ]
+ [IsFiniteMeasure ν] : μ.toSignedMeasure = ν.toSignedMeasure ↔ μ = ν := by
refine' ⟨fun h => _, fun h => _⟩
· ext1 i hi
have : μ.toSignedMeasure i = ν.toSignedMeasure i := by rw [h]
@@ -465,7 +465,7 @@ theorem toSignedMeasure_zero : (0 : Measure α).toSignedMeasure = 0 := by
#align measure_theory.measure.to_signed_measure_zero MeasureTheory.Measure.toSignedMeasure_zero
@[simp]
-theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasure ν] :
+theorem toSignedMeasure_add (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteMeasure ν] :
(μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure := by
ext i
intro hi
@@ -476,7 +476,7 @@ theorem toSignedMeasure_add (μ ν : Measure α) [FiniteMeasure μ] [FiniteMeasu
#align measure_theory.measure.to_signed_measure_add MeasureTheory.Measure.toSignedMeasure_add
@[simp]
-theorem toSignedMeasure_smul (μ : Measure α) [FiniteMeasure μ] (r : ℝ≥0) :
+theorem toSignedMeasure_smul (μ : Measure α) [IsFiniteMeasure μ] (r : ℝ≥0) :
(r • μ).toSignedMeasure = r • μ.toSignedMeasure := by
ext i
intro hi
@@ -516,8 +516,8 @@ theorem toEnnrealVectorMeasure_add (μ ν : Measure α) :
toEnnrealVectorMeasure_apply_measurable hi, toEnnrealVectorMeasure_apply_measurable hi]
#align measure_theory.measure.to_ennreal_vector_measure_add MeasureTheory.Measure.toEnnrealVectorMeasure_add
-theorem toSignedMeasure_sub_apply {μ ν : Measure α} [FiniteMeasure μ] [FiniteMeasure ν] {i : Set α}
- (hi : MeasurableSet i) :
+theorem toSignedMeasure_sub_apply {μ ν : Measure α} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
+ {i : Set α} (hi : MeasurableSet i) :
(μ.toSignedMeasure - ν.toSignedMeasure) i = (μ i).toReal - (ν i).toReal := by
rw [VectorMeasure.sub_apply, toSignedMeasure_apply_measurable hi,
Measure.toSignedMeasure_apply_measurable hi, sub_eq_add_neg]
@@ -1383,7 +1383,7 @@ theorem toMeasureOfLEZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj
/-- `SignedMeasure.toMeasureOfZeroLE` is a finite measure. -/
instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi) where
+ IsFiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi) where
measure_univ_lt_top := by
rw [toMeasureOfZeroLE_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
@@ -1391,7 +1391,7 @@ instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
/-- `SignedMeasure.toMeasureOfLEZero` is a finite measure. -/
instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfLEZero i hi₁ hi) where
+ IsFiniteMeasure (s.toMeasureOfLEZero i hi₁ hi) where
measure_univ_lt_top := by
rw [toMeasureOfLEZero_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
@@ -1417,7 +1417,7 @@ namespace Measure
open VectorMeasure
-variable (μ : Measure α) [FiniteMeasure μ]
+variable (μ : Measure α) [IsFiniteMeasure μ]
theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure := by
rw [← le_restrict_univ_iff_le]
@@ -1327,18 +1327,18 @@ open VectorMeasure
open MeasureTheory
-/-- The underlying function for `SignedMeasure.toMeasureOfZeroLe`. -/
-def toMeasureOfZeroLe' (s : SignedMeasure α) (i : Set α) (hi : 0 ≤[i] s) (j : Set α)
+/-- The underlying function for `SignedMeasure.toMeasureOfZeroLE`. -/
+def toMeasureOfZeroLE' (s : SignedMeasure α) (i : Set α) (hi : 0 ≤[i] s) (j : Set α)
(hj : MeasurableSet j) : ℝ≥0∞ :=
((↑) : ℝ≥0 → ℝ≥0∞) ⟨s.restrict i j, le_trans (by simp) (hi j hj)⟩
-#align measure_theory.signed_measure.to_measure_of_zero_le' MeasureTheory.SignedMeasure.toMeasureOfZeroLe'
+#align measure_theory.signed_measure.to_measure_of_zero_le' MeasureTheory.SignedMeasure.toMeasureOfZeroLE'
-/-- Given a signed measure `s` and a positive measurable set `i`, `toMeasureOfZeroLe`
+/-- Given a signed measure `s` and a positive measurable set `i`, `toMeasureOfZeroLE`
provides the measure, mapping measurable sets `j` to `s (i ∩ j)`. -/
-def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : 0 ≤[i] s) :
+def toMeasureOfZeroLE (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : 0 ≤[i] s) :
Measure α := by
- refine' Measure.ofMeasurable (s.toMeasureOfZeroLe' i hi₂) _ _
- · simp_rw [toMeasureOfZeroLe', s.restrict_apply hi₁ MeasurableSet.empty, Set.empty_inter i,
+ refine' Measure.ofMeasurable (s.toMeasureOfZeroLE' i hi₂) _ _
+ · simp_rw [toMeasureOfZeroLE', s.restrict_apply hi₁ MeasurableSet.empty, Set.empty_inter i,
s.empty]
rfl
· intro f hf₁ hf₂
@@ -1346,7 +1346,7 @@ def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
have h₂ : Pairwise (Disjoint on fun n : ℕ => i ∩ f n) := by
intro n m hnm
exact ((hf₂ hnm).inf_left' i).inf_right' i
- simp only [toMeasureOfZeroLe', s.restrict_apply hi₁ (MeasurableSet.iUnion hf₁), Set.inter_comm,
+ simp only [toMeasureOfZeroLE', s.restrict_apply hi₁ (MeasurableSet.iUnion hf₁), Set.inter_comm,
Set.inter_iUnion, s.of_disjoint_iUnion_nat h₁ h₂, ENNReal.some_eq_coe, id.def]
have h : ∀ n, 0 ≤ s (i ∩ f n) := fun n =>
s.nonneg_of_zero_le_restrict (s.zero_le_restrict_subset hi₁ (Set.inter_subset_left _ _) hi₂)
@@ -1354,62 +1354,62 @@ def toMeasureOfZeroLe (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet
· refine' tsum_congr fun n => _
simp_rw [s.restrict_apply hi₁ (hf₁ n), Set.inter_comm]
· exact (NNReal.summable_mk h).2 (s.m_iUnion h₁ h₂).summable
-#align measure_theory.signed_measure.to_measure_of_zero_le MeasureTheory.SignedMeasure.toMeasureOfZeroLe
+#align measure_theory.signed_measure.to_measure_of_zero_le MeasureTheory.SignedMeasure.toMeasureOfZeroLE
variable (s : SignedMeasure α) {i j : Set α}
-theorem toMeasureOfZeroLe_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
- s.toMeasureOfZeroLe i hi₁ hi j = ((↑) : ℝ≥0 → ℝ≥0∞) ⟨s (i ∩ j), nonneg_of_zero_le_restrict
+theorem toMeasureOfZeroLE_apply (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
+ s.toMeasureOfZeroLE i hi₁ hi j = ((↑) : ℝ≥0 → ℝ≥0∞) ⟨s (i ∩ j), nonneg_of_zero_le_restrict
s (zero_le_restrict_subset s hi₁ (Set.inter_subset_left _ _) hi)⟩ := by
- simp_rw [toMeasureOfZeroLe, Measure.ofMeasurable_apply _ hj₁, toMeasureOfZeroLe',
+ simp_rw [toMeasureOfZeroLE, Measure.ofMeasurable_apply _ hj₁, toMeasureOfZeroLE',
s.restrict_apply hi₁ hj₁, Set.inter_comm]
-#align measure_theory.signed_measure.to_measure_of_zero_le_apply MeasureTheory.SignedMeasure.toMeasureOfZeroLe_apply
+#align measure_theory.signed_measure.to_measure_of_zero_le_apply MeasureTheory.SignedMeasure.toMeasureOfZeroLE_apply
-/-- Given a signed measure `s` and a negative measurable set `i`, `toMeasureOfLeZero`
+/-- Given a signed measure `s` and a negative measurable set `i`, `toMeasureOfLEZero`
provides the measure, mapping measurable sets `j` to `-s (i ∩ j)`. -/
-def toMeasureOfLeZero (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : s ≤[i] 0) :
+def toMeasureOfLEZero (s : SignedMeasure α) (i : Set α) (hi₁ : MeasurableSet i) (hi₂ : s ≤[i] 0) :
Measure α :=
- toMeasureOfZeroLe (-s) i hi₁ <| @neg_zero (VectorMeasure α ℝ) _ ▸ neg_le_neg _ _ hi₁ hi₂
-#align measure_theory.signed_measure.to_measure_of_le_zero MeasureTheory.SignedMeasure.toMeasureOfLeZero
+ toMeasureOfZeroLE (-s) i hi₁ <| @neg_zero (VectorMeasure α ℝ) _ ▸ neg_le_neg _ _ hi₁ hi₂
+#align measure_theory.signed_measure.to_measure_of_le_zero MeasureTheory.SignedMeasure.toMeasureOfLEZero
-theorem toMeasureOfLeZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
- s.toMeasureOfLeZero i hi₁ hi j = ((↑) : ℝ≥0 → ℝ≥0∞) ⟨-s (i ∩ j), neg_apply s (i ∩ j) ▸
+theorem toMeasureOfLEZero_apply (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) (hj₁ : MeasurableSet j) :
+ s.toMeasureOfLEZero i hi₁ hi j = ((↑) : ℝ≥0 → ℝ≥0∞) ⟨-s (i ∩ j), neg_apply s (i ∩ j) ▸
nonneg_of_zero_le_restrict _ (zero_le_restrict_subset _ hi₁ (Set.inter_subset_left _ _)
(@neg_zero (VectorMeasure α ℝ) _ ▸ neg_le_neg _ _ hi₁ hi))⟩ := by
- erw [toMeasureOfZeroLe_apply]
+ erw [toMeasureOfZeroLE_apply]
· simp
· assumption
-#align measure_theory.signed_measure.to_measure_of_le_zero_apply MeasureTheory.SignedMeasure.toMeasureOfLeZero_apply
+#align measure_theory.signed_measure.to_measure_of_le_zero_apply MeasureTheory.SignedMeasure.toMeasureOfLEZero_apply
-/-- `SignedMeasure.toMeasureOfZeroLe` is a finite measure. -/
-instance toMeasureOfZeroLe_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfZeroLe i hi₁ hi) where
+/-- `SignedMeasure.toMeasureOfZeroLE` is a finite measure. -/
+instance toMeasureOfZeroLE_finite (hi : 0 ≤[i] s) (hi₁ : MeasurableSet i) :
+ FiniteMeasure (s.toMeasureOfZeroLE i hi₁ hi) where
measure_univ_lt_top := by
- rw [toMeasureOfZeroLe_apply s hi hi₁ MeasurableSet.univ]
+ rw [toMeasureOfZeroLE_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
-#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLe_finite
+#align measure_theory.signed_measure.to_measure_of_zero_le_finite MeasureTheory.SignedMeasure.toMeasureOfZeroLE_finite
-/-- `SignedMeasure.toMeasureOfLeZero` is a finite measure. -/
-instance toMeasureOfLeZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
- FiniteMeasure (s.toMeasureOfLeZero i hi₁ hi) where
+/-- `SignedMeasure.toMeasureOfLEZero` is a finite measure. -/
+instance toMeasureOfLEZero_finite (hi : s ≤[i] 0) (hi₁ : MeasurableSet i) :
+ FiniteMeasure (s.toMeasureOfLEZero i hi₁ hi) where
measure_univ_lt_top := by
- rw [toMeasureOfLeZero_apply s hi hi₁ MeasurableSet.univ]
+ rw [toMeasureOfLEZero_apply s hi hi₁ MeasurableSet.univ]
exact ENNReal.coe_lt_top
-#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLeZero_finite
+#align measure_theory.signed_measure.to_measure_of_le_zero_finite MeasureTheory.SignedMeasure.toMeasureOfLEZero_finite
-theorem toMeasureOfZeroLe_toSignedMeasure (hs : 0 ≤[Set.univ] s) :
- (s.toMeasureOfZeroLe Set.univ MeasurableSet.univ hs).toSignedMeasure = s := by
+theorem toMeasureOfZeroLE_toSignedMeasure (hs : 0 ≤[Set.univ] s) :
+ (s.toMeasureOfZeroLE Set.univ MeasurableSet.univ hs).toSignedMeasure = s := by
ext i
intro hi
- simp [hi, toMeasureOfZeroLe_apply _ _ _ hi]
-#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLe_toSignedMeasure
+ simp [hi, toMeasureOfZeroLE_apply _ _ _ hi]
+#align measure_theory.signed_measure.to_measure_of_zero_le_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfZeroLE_toSignedMeasure
-theorem toMeasureOfLeZero_toSignedMeasure (hs : s ≤[Set.univ] 0) :
- (s.toMeasureOfLeZero Set.univ MeasurableSet.univ hs).toSignedMeasure = -s := by
+theorem toMeasureOfLEZero_toSignedMeasure (hs : s ≤[Set.univ] 0) :
+ (s.toMeasureOfLEZero Set.univ MeasurableSet.univ hs).toSignedMeasure = -s := by
ext i
intro hi
- simp [hi, toMeasureOfLeZero_apply _ _ _ hi]
-#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLeZero_toSignedMeasure
+ simp [hi, toMeasureOfLEZero_apply _ _ _ hi]
+#align measure_theory.signed_measure.to_measure_of_le_zero_to_signed_measure MeasureTheory.SignedMeasure.toMeasureOfLEZero_toSignedMeasure
end SignedMeasure
@@ -1426,15 +1426,15 @@ theorem zero_le_toSignedMeasure : 0 ≤ μ.toSignedMeasure := by
ENNReal.toReal_nonneg, VectorMeasure.coe_zero]
#align measure_theory.measure.zero_le_to_signed_measure MeasureTheory.Measure.zero_le_toSignedMeasure
-theorem toSignedMeasure_toMeasureOfZeroLe :
- μ.toSignedMeasure.toMeasureOfZeroLe Set.univ MeasurableSet.univ
+theorem toSignedMeasure_toMeasureOfZeroLE :
+ μ.toSignedMeasure.toMeasureOfZeroLE Set.univ MeasurableSet.univ
((le_restrict_univ_iff_le _ _).2 (zero_le_toSignedMeasure μ)) = μ := by
refine' Measure.ext fun i hi => _
lift μ i to ℝ≥0 using (measure_lt_top _ _).ne with m hm
- rw [SignedMeasure.toMeasureOfZeroLe_apply _ _ _ hi, coe_eq_coe]
+ rw [SignedMeasure.toMeasureOfZeroLE_apply _ _ _ hi, coe_eq_coe]
congr
simp [hi, ← hm]
-#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLe
+#align measure_theory.measure.to_signed_measure_to_measure_of_zero_le MeasureTheory.Measure.toSignedMeasure_toMeasureOfZeroLE
end Measure
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
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file