Skip to content

Commit d4c295d

Browse files
committed
chore: remove redundant measurable space structure on WithLp (#31190)
The `MeasurableSpace` structure over `WithLp` was introduced globally in [#26249](#26249), so the particular instances that were introduced for [NumberField.mixedEmbedding.euclidean.mixedSpace](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.html#NumberField.mixedEmbedding.euclidean.mixedSpace) and `EuclideanSpace` are no longer needed. The measurable space structure on `WithLp` is not imported in the file where [EuclideanSpace.measurableEquiv](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Measure/Haar/OfBasis.html#EuclideanSpace.measurableEquiv) is defined, so if I want to deprecate `EuclideanSpace.measurableEquiv` I either have to add a useless import, or deprecate the instances in the file instead of removing them. Thus I did not deprecate it and just removed it.
1 parent e49f9fc commit d4c295d

File tree

7 files changed

+55
-63
lines changed

7 files changed

+55
-63
lines changed

Mathlib/Algebra/Module/ZLattice/Covolume.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ theorem covolume_div_covolume_eq_relIndex' {E : Type*} [NormedAddCommGroup E]
168168
let f := (EuclideanSpace.equiv _ ℝ).symm.trans
169169
(stdOrthonormalBasis ℝ E).repr.toContinuousLinearEquiv.symm
170170
have hf : MeasurePreserving f := (stdOrthonormalBasis ℝ E).measurePreserving_repr_symm.comp
171-
(EuclideanSpace.volume_preserving_measurableEquiv _).symm
171+
(EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp _).symm
172172
rw [← covolume_comap L₁ volume volume hf, ← covolume_comap L₂ volume volume hf,
173173
covolume_div_covolume_eq_relIndex _ _ (fun _ h' ↦ h h'), ZLattice.comap_toAddSubgroup,
174174
ZLattice.comap_toAddSubgroup, Nat.cast_inj, LinearEquiv.toAddMonoidHom_commutes,
@@ -199,7 +199,7 @@ theorem volume_image_eq_volume_div_covolume' {E : Type*} [NormedAddCommGroup E]
199199
((stdOrthonormalBasis ℝ E).reindex e).repr.toContinuousLinearEquiv.symm
200200
have hf : MeasurePreserving f :=
201201
((stdOrthonormalBasis ℝ E).reindex e).measurePreserving_repr_symm.comp
202-
(EuclideanSpace.volume_preserving_measurableEquiv ι).symm
202+
(EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp ι).symm
203203
rw [← hf.measure_preimage hs, ← (covolume_comap L volume volume hf),
204204
← volume_image_eq_volume_div_covolume (ZLattice.comap ℝ L f.toLinearMap)
205205
(b.ofZLatticeComap ℝ L f.toLinearEquiv), Basis.ofZLatticeBasis_comap,

Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -257,14 +257,13 @@ theorem integrable_cexp_neg_mul_sum_add {ι : Type*} [Fintype ι] (hb : 0 < b.re
257257
theorem integrable_cexp_neg_mul_sq_norm_add_of_euclideanSpace
258258
{ι : Type*} [Fintype ι] (hb : 0 < b.re) (c : ℂ) (w : EuclideanSpace ℝ ι) :
259259
Integrable (fun (v : EuclideanSpace ℝ ι) ↦ cexp (-b * ‖v‖ ^ 2 + c * ⟪w, v⟫)) := by
260-
have := EuclideanSpace.volume_preserving_measurableEquiv ι
260+
have := EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp ι
261261
rw [← MeasurePreserving.integrable_comp_emb this.symm (MeasurableEquiv.measurableEmbedding _)]
262262
simp only [neg_mul, Function.comp_def]
263263
convert integrable_cexp_neg_mul_sum_add hb (fun i ↦ c * w i) using 3 with v
264-
simp only [EuclideanSpace.measurableEquiv, MeasurableEquiv.symm_mk, MeasurableEquiv.coe_mk,
265-
EuclideanSpace.norm_eq, Real.norm_eq_abs, sq_abs, PiLp.inner_apply,
266-
RCLike.inner_apply, conj_trivial, ofReal_sum, ofReal_mul, Finset.mul_sum, neg_mul,
267-
Finset.sum_neg_distrib, mul_assoc]
264+
simp only [MeasurableEquiv.symm_symm, MeasurableEquiv.toLp_apply, EuclideanSpace.norm_eq,
265+
PiLp.toLp_apply, norm_eq_abs, sq_abs, PiLp.inner_apply, RCLike.inner_apply, conj_trivial,
266+
ofReal_sum, ofReal_mul, Finset.mul_sum, neg_mul, Finset.sum_neg_distrib, mul_assoc]
268267
norm_cast
269268
rw [sq_sqrt]
270269
· simp [Finset.mul_sum, mul_comm]
@@ -303,17 +302,17 @@ theorem integral_cexp_neg_mul_sq_norm_add_of_euclideanSpace
303302
{ι : Type*} [Fintype ι] (hb : 0 < b.re) (c : ℂ) (w : EuclideanSpace ℝ ι) :
304303
∫ v : EuclideanSpace ℝ ι, cexp (-b * ‖v‖ ^ 2 + c * ⟪w, v⟫) =
305304
(π / b) ^ (Fintype.card ι / 2 : ℂ) * cexp (c ^ 2 * ‖w‖ ^ 2 / (4 * b)) := by
306-
have := (EuclideanSpace.volume_preserving_measurableEquiv ι).symm
305+
have := (EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp ι).symm
307306
rw [← this.integral_comp (MeasurableEquiv.measurableEmbedding _)]
308307
simp only [neg_mul]
309308
convert integral_cexp_neg_mul_sum_add hb (fun i ↦ c * w i) using 5 with _x y
310-
· simp only [EuclideanSpace.coe_measurableEquiv_symm, EuclideanSpace.norm_eq, PiLp.toLp_apply,
311-
Real.norm_eq_abs, sq_abs, neg_mul, neg_inj, mul_eq_mul_left_iff]
309+
· simp only [MeasurableEquiv.symm_symm, MeasurableEquiv.toLp_apply, EuclideanSpace.norm_eq,
310+
PiLp.toLp_apply, norm_eq_abs, sq_abs, neg_mul, neg_inj, mul_eq_mul_left_iff]
312311
norm_cast
313312
left
314313
rw [sq_sqrt]
315314
exact Finset.sum_nonneg (fun i _hi ↦ by positivity)
316-
· simp [PiLp.inner_apply, EuclideanSpace.measurableEquiv, Finset.mul_sum, mul_assoc]
315+
· simp [PiLp.inner_apply, Finset.mul_sum, mul_assoc]
317316
simp_rw [mul_comm]
318317
· simp only [EuclideanSpace.norm_eq, Real.norm_eq_abs, sq_abs, mul_pow, ← Finset.mul_sum]
319318
congr

Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean

Lines changed: 42 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Authors: Sébastien Gouëzel
55
-/
66
import Mathlib.Analysis.InnerProductSpace.Orientation
77
import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar
8+
import Mathlib.Analysis.Normed.Lp.MeasurableSpace
89

910
/-!
1011
# Volume forms and measures on inner product spaces
@@ -16,7 +17,7 @@ measure `1` to the parallelepiped spanned by any orthonormal basis, and that it
1617
the canonical `volume` from the `MeasureSpace` instance.
1718
-/
1819

19-
open Module MeasureTheory MeasureTheory.Measure Set
20+
open Module MeasureTheory MeasureTheory.Measure Set WithLp
2021

2122
variable {ι E F : Type*}
2223

@@ -113,32 +114,56 @@ theorem OrthonormalBasis.measurePreserving_repr_symm (b : OrthonormalBasis ι
113114

114115
section PiLp
115116

116-
variable (ι : Type*) [Fintype ι]
117+
variable (ι : Type*)
118+
119+
/-- `WithLp.equiv` as a `MeasurableEquiv`. -/
120+
@[deprecated MeasurableEquiv.toLp (since := "2025-11-02")]
121+
protected def EuclideanSpace.measurableEquiv : EuclideanSpace ℝ ι ≃ᵐ (ι → ℝ) :=
122+
(MeasurableEquiv.toLp 2 (ι → ℝ)).symm
123+
124+
set_option linter.deprecated false in
125+
@[deprecated MeasurableEquiv.coe_toLp (since := "2025-11-02")]
126+
theorem EuclideanSpace.measurableEquiv_toEquiv :
127+
(EuclideanSpace.measurableEquiv ι).toEquiv = WithLp.equiv 2 (ι → ℝ) := rfl
128+
129+
set_option linter.deprecated false in
130+
@[deprecated MeasurableEquiv.coe_toLp (since := "2025-11-02")]
131+
theorem EuclideanSpace.coe_measurableEquiv :
132+
⇑(EuclideanSpace.measurableEquiv ι) = ofLp := rfl
133+
134+
set_option linter.deprecated false in
135+
@[deprecated MeasurableEquiv.coe_toLp_symm (since := "2025-11-02")]
136+
theorem EuclideanSpace.coe_measurableEquiv_symm :
137+
⇑(EuclideanSpace.measurableEquiv ι).symm = toLp 2 := rfl
138+
139+
variable [Fintype ι]
117140

118141
/-- The measure equivalence between `EuclideanSpace ℝ ι` and `ι → ℝ` is volume preserving. -/
119-
theorem EuclideanSpace.volume_preserving_measurableEquiv :
120-
MeasurePreserving (EuclideanSpace.measurableEquiv ι) := by
121-
suffices volume = map (EuclideanSpace.measurableEquiv ι).symm volume by
122-
convert ((EuclideanSpace.measurableEquiv ι).symm.measurable.measurePreserving _).symm
142+
theorem EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp :
143+
MeasurePreserving (MeasurableEquiv.toLp 2 (ι → ℝ)).symm := by
144+
suffices volume = map (MeasurableEquiv.toLp 2 (ι → ℝ)) volume by
145+
convert ((MeasurableEquiv.toLp 2 (ι → ℝ)).measurable.measurePreserving _).symm
123146
rw [← addHaarMeasure_eq_volume_pi, ← Basis.parallelepiped_basisFun, ← Basis.addHaar_def,
124-
coe_measurableEquiv_symm, ← PiLp.continuousLinearEquiv_symm_apply 2 ℝ, Basis.map_addHaar]
147+
MeasurableEquiv.coe_toLp, ← PiLp.continuousLinearEquiv_symm_apply 2 ℝ, Basis.map_addHaar]
125148
exact (EuclideanSpace.basisFun _ _).addHaar_eq_volume.symm
126149

127-
/-- A copy of `EuclideanSpace.volume_preserving_measurableEquiv` for the canonical spelling of the
128-
equivalence. -/
129-
theorem PiLp.volume_preserving_ofLp : MeasurePreserving (@WithLp.ofLp 2 (ι → ℝ)) :=
130-
EuclideanSpace.volume_preserving_measurableEquiv ι
150+
@[deprecated (since := "2025-07-26")] alias EuclideanSpace.volume_preserving_measurableEquiv :=
151+
EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp
152+
153+
/-- A copy of `EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp`
154+
for the canonical spelling of the equivalence. -/
155+
theorem PiLp.volume_preserving_ofLp : MeasurePreserving (@ofLp 2 (ι → ℝ)) :=
156+
EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp ι
131157

132-
/-- The reverse direction of `PiLp.volume_preserving_measurableEquiv`, since
158+
/-- The reverse direction of `EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp`, since
133159
`MeasurePreserving.symm` only works for `MeasurableEquiv`s. -/
134-
theorem PiLp.volume_preserving_toLp : MeasurePreserving (@WithLp.toLp 2 (ι → ℝ)) :=
135-
(EuclideanSpace.volume_preserving_measurableEquiv ι).symm
160+
theorem PiLp.volume_preserving_toLp : MeasurePreserving (@toLp 2 (ι → ℝ)) :=
161+
(EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp ι).symm
136162

137163
lemma volume_euclideanSpace_eq_dirac [IsEmpty ι] :
138164
(volume : Measure (EuclideanSpace ℝ ι)) = Measure.dirac 0 := by
139-
rw [← ((EuclideanSpace.volume_preserving_measurableEquiv ι).symm).map_eq,
140-
volume_pi_eq_dirac 0, map_dirac (MeasurableEquiv.measurable _),
141-
EuclideanSpace.coe_measurableEquiv_symm, WithLp.toLp_zero]
165+
rw [← (PiLp.volume_preserving_toLp ι).map_eq, volume_pi_eq_dirac 0,
166+
map_dirac (measurable_toLp 2 _), toLp_zero]
142167

143168
end PiLp
144169

Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -313,32 +313,3 @@ instance [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ
313313
/- This instance should not be necessary, but Lean has difficulties to find it in product
314314
situations if we do not declare it explicitly. -/
315315
instance Real.measureSpace : MeasureSpace ℝ := by infer_instance
316-
317-
/-! # Miscellaneous instances for `EuclideanSpace`
318-
319-
In combination with `measureSpaceOfInnerProductSpace`, these put a `MeasureSpace` structure
320-
on `EuclideanSpace`. -/
321-
322-
323-
namespace EuclideanSpace
324-
325-
variable (ι)
326-
327-
-- TODO: do we want these instances for `PiLp` too?
328-
instance : MeasurableSpace (EuclideanSpace ℝ ι) := MeasurableSpace.pi
329-
330-
instance [Finite ι] : BorelSpace (EuclideanSpace ℝ ι) := Pi.borelSpace
331-
332-
/-- `WithLp.equiv` as a `MeasurableEquiv`. -/
333-
@[simps toEquiv]
334-
protected def measurableEquiv : EuclideanSpace ℝ ι ≃ᵐ (ι → ℝ) where
335-
toEquiv := WithLp.equiv _ _
336-
measurable_toFun := measurable_id
337-
measurable_invFun := measurable_id
338-
339-
theorem coe_measurableEquiv : ⇑(EuclideanSpace.measurableEquiv ι) = WithLp.ofLp := rfl
340-
341-
theorem coe_measurableEquiv_symm :
342-
⇑(EuclideanSpace.measurableEquiv ι).symm = WithLp.toLp _ := rfl
343-
344-
end EuclideanSpace

Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,11 +325,11 @@ theorem volume_ball (x : EuclideanSpace ℝ ι) (r : ℝ) :
325325
· suffices volume (Metric.ball (0 : EuclideanSpace ℝ ι) 1) =
326326
.ofReal (√π ^ card ι / Gamma (card ι / 2 + 1)) by
327327
rw [Measure.addHaar_ball _ _ hr, this, ofReal_pow hr, finrank_euclideanSpace]
328-
rw [← ((volume_preserving_measurableEquiv _).symm).measure_preimage
328+
rw [← ((volume_preserving_symm_measurableEquiv_toLp _).symm).measure_preimage
329329
measurableSet_ball.nullMeasurableSet]
330330
simp only [Set.preimage, ball_zero_eq _ zero_le_one, one_pow, Set.mem_setOf_eq]
331331
convert volume_sum_rpow_lt_one ι one_le_two using 4
332-
· simp [sq_abs, EuclideanSpace.measurableEquiv]
332+
· simp [sq_abs]
333333
· rw [Gamma_add_one (by simp), Gamma_one_half_eq, ← mul_assoc, mul_div_cancel₀ _
334334
two_ne_zero, one_mul]
335335

Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -809,10 +809,6 @@ instance : Ring (euclidean.mixedSpace K) :=
809809
have : Ring (EuclideanSpace ℂ {w : InfinitePlace K // IsComplex w}) := Pi.ring
810810
inferInstanceAs (Ring (_ × _))
811811

812-
instance : MeasurableSpace (euclidean.mixedSpace K) := borel _
813-
814-
instance : BorelSpace (euclidean.mixedSpace K) := ⟨rfl⟩
815-
816812
variable [NumberField K]
817813

818814
open Classical in

Mathlib/Probability/Moments/CovarianceBilin.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Rémy Degenne, Etienne Marion
55
-/
66
import Mathlib.Analysis.InnerProductSpace.Positive
7+
import Mathlib.Analysis.Normed.Lp.MeasurableSpace
78
import Mathlib.MeasureTheory.SpecificCodomains.WithLp
89
import Mathlib.Probability.Moments.CovarianceBilinDual
910

0 commit comments

Comments
 (0)