analysis.normed_space.lp_equivMathlib.Analysis.NormedSpace.LpEquiv

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jireh Loreaux
 -/
-import Analysis.NormedSpace.LpSpace
+import Analysis.NormedSpace.lpSpace
 import Analysis.NormedSpace.PiLp
 import Topology.ContinuousFunction.Bounded
 
@@ -158,100 +158,100 @@ variable [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NonUnitalNormedRing R]
 
 section NormedAddCommGroup
 
-#print AddEquiv.lpBcf /-
+#print AddEquiv.lpBCF /-
 /-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as an `add_equiv`. -/
-noncomputable def AddEquiv.lpBcf : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E)
+noncomputable def AddEquiv.lpBCF : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E)
     where
   toFun f := ofNormedAddCommGroupDiscrete f ‖f‖ <| le_ciSup (memℓp_infty_iff.mp f.Prop)
   invFun f := ⟨f, f.bddAbove_range_norm_comp⟩
   left_inv f := lp.ext rfl
   right_inv f := ext fun x => rfl
   map_add' f g := ext fun x => rfl
-#align add_equiv.lp_bcf AddEquiv.lpBcf
+#align add_equiv.lp_bcf AddEquiv.lpBCF
 -/
 
-#print coe_addEquiv_lpBcf /-
-theorem coe_addEquiv_lpBcf (f : lp (fun _ : α => E) ∞) : (AddEquiv.lpBcf f : α → E) = f :=
+#print coe_addEquiv_lpBCF /-
+theorem coe_addEquiv_lpBCF (f : lp (fun _ : α => E) ∞) : (AddEquiv.lpBCF f : α → E) = f :=
   rfl
-#align coe_add_equiv_lp_bcf coe_addEquiv_lpBcf
+#align coe_add_equiv_lp_bcf coe_addEquiv_lpBCF
 -/
 
-#print coe_addEquiv_lpBcf_symm /-
-theorem coe_addEquiv_lpBcf_symm (f : α →ᵇ E) : (AddEquiv.lpBcf.symm f : α → E) = f :=
+#print coe_addEquiv_lpBCF_symm /-
+theorem coe_addEquiv_lpBCF_symm (f : α →ᵇ E) : (AddEquiv.lpBCF.symm f : α → E) = f :=
   rfl
-#align coe_add_equiv_lp_bcf_symm coe_addEquiv_lpBcf_symm
+#align coe_add_equiv_lp_bcf_symm coe_addEquiv_lpBCF_symm
 -/
 
 /-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as a `linear_isometry_equiv`. -/
-noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
-  { AddEquiv.lpBcf with
+noncomputable def lpBCFₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
+  { AddEquiv.lpBCF with
     map_smul' := fun k f => rfl
     norm_map' := fun f => by simp only [norm_eq_supr_norm, lp.norm_eq_ciSup]; rfl }
-#align lp_bcfₗᵢ lpBcfₗᵢₓ
+#align lp_bcfₗᵢ lpBCFₗᵢₓ
 
 variable {𝕜}
 
-#print coe_lpBcfₗᵢ /-
-theorem coe_lpBcfₗᵢ (f : lp (fun _ : α => E) ∞) : (lpBcfₗᵢ 𝕜 f : α → E) = f :=
+#print coe_lpBCFₗᵢ /-
+theorem coe_lpBCFₗᵢ (f : lp (fun _ : α => E) ∞) : (lpBCFₗᵢ 𝕜 f : α → E) = f :=
   rfl
-#align coe_lp_bcfₗᵢ coe_lpBcfₗᵢ
+#align coe_lp_bcfₗᵢ coe_lpBCFₗᵢ
 -/
 
-#print coe_lpBcfₗᵢ_symm /-
-theorem coe_lpBcfₗᵢ_symm (f : α →ᵇ E) : ((lpBcfₗᵢ 𝕜).symm f : α → E) = f :=
+#print coe_lpBCFₗᵢ_symm /-
+theorem coe_lpBCFₗᵢ_symm (f : α →ᵇ E) : ((lpBCFₗᵢ 𝕜).symm f : α → E) = f :=
   rfl
-#align coe_lp_bcfₗᵢ_symm coe_lpBcfₗᵢ_symm
+#align coe_lp_bcfₗᵢ_symm coe_lpBCFₗᵢ_symm
 -/
 
 end NormedAddCommGroup
 
 section RingAlgebra
 
-#print RingEquiv.lpBcf /-
+#print RingEquiv.lpBCF /-
 /-- The canonical map between `lp (λ (_ : α), R) ∞` and `α →ᵇ R` as a `ring_equiv`. -/
-noncomputable def RingEquiv.lpBcf : lp (fun _ : α => R) ∞ ≃+* (α →ᵇ R) :=
-  { @AddEquiv.lpBcf _ R _ _ _ with map_mul' := fun f g => ext fun x => rfl }
-#align ring_equiv.lp_bcf RingEquiv.lpBcf
+noncomputable def RingEquiv.lpBCF : lp (fun _ : α => R) ∞ ≃+* (α →ᵇ R) :=
+  { @AddEquiv.lpBCF _ R _ _ _ with map_mul' := fun f g => ext fun x => rfl }
+#align ring_equiv.lp_bcf RingEquiv.lpBCF
 -/
 
 variable {R}
 
-#print coe_ringEquiv_lpBcf /-
-theorem coe_ringEquiv_lpBcf (f : lp (fun _ : α => R) ∞) : (RingEquiv.lpBcf R f : α → R) = f :=
+#print coe_ringEquiv_lpBCF /-
+theorem coe_ringEquiv_lpBCF (f : lp (fun _ : α => R) ∞) : (RingEquiv.lpBCF R f : α → R) = f :=
   rfl
-#align coe_ring_equiv_lp_bcf coe_ringEquiv_lpBcf
+#align coe_ring_equiv_lp_bcf coe_ringEquiv_lpBCF
 -/
 
-#print coe_ringEquiv_lpBcf_symm /-
-theorem coe_ringEquiv_lpBcf_symm (f : α →ᵇ R) : ((RingEquiv.lpBcf R).symm f : α → R) = f :=
+#print coe_ringEquiv_lpBCF_symm /-
+theorem coe_ringEquiv_lpBCF_symm (f : α →ᵇ R) : ((RingEquiv.lpBCF R).symm f : α → R) = f :=
   rfl
-#align coe_ring_equiv_lp_bcf_symm coe_ringEquiv_lpBcf_symm
+#align coe_ring_equiv_lp_bcf_symm coe_ringEquiv_lpBCF_symm
 -/
 
 variable (α)
 
-#print AlgEquiv.lpBcf /-
+#print AlgEquiv.lpBCF /-
 -- even `α` needs to be explicit here for elaboration
 -- the `norm_one_class A` shouldn't really be necessary, but currently it is for
 -- `one_mem_ℓp_infty` to get the `ring` instance on `lp`.
 /-- The canonical map between `lp (λ (_ : α), A) ∞` and `α →ᵇ A` as an `alg_equiv`. -/
-noncomputable def AlgEquiv.lpBcf : lp (fun _ : α => A) ∞ ≃ₐ[𝕜] α →ᵇ A :=
-  { RingEquiv.lpBcf A with commutes' := fun k => rfl }
-#align alg_equiv.lp_bcf AlgEquiv.lpBcf
+noncomputable def AlgEquiv.lpBCF : lp (fun _ : α => A) ∞ ≃ₐ[𝕜] α →ᵇ A :=
+  { RingEquiv.lpBCF A with commutes' := fun k => rfl }
+#align alg_equiv.lp_bcf AlgEquiv.lpBCF
 -/
 
 variable {α A 𝕜}
 
-#print coe_algEquiv_lpBcf /-
-theorem coe_algEquiv_lpBcf (f : lp (fun _ : α => A) ∞) : (AlgEquiv.lpBcf α A 𝕜 f : α → A) = f :=
+#print coe_algEquiv_lpBCF /-
+theorem coe_algEquiv_lpBCF (f : lp (fun _ : α => A) ∞) : (AlgEquiv.lpBCF α A 𝕜 f : α → A) = f :=
   rfl
-#align coe_alg_equiv_lp_bcf coe_algEquiv_lpBcf
+#align coe_alg_equiv_lp_bcf coe_algEquiv_lpBCF
 -/
 
-#print coe_algEquiv_lpBcf_symm /-
-theorem coe_algEquiv_lpBcf_symm (f : α →ᵇ A) : ((AlgEquiv.lpBcf α A 𝕜).symm f : α → A) = f :=
+#print coe_algEquiv_lpBCF_symm /-
+theorem coe_algEquiv_lpBCF_symm (f : α →ᵇ A) : ((AlgEquiv.lpBCF α A 𝕜).symm f : α → A) = f :=
   rfl
-#align coe_alg_equiv_lp_bcf_symm coe_algEquiv_lpBcf_symm
+#align coe_alg_equiv_lp_bcf_symm coe_algEquiv_lpBCF_symm
 -/
 
 end RingAlgebra
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jireh Loreaux
 -/
-import Mathbin.Analysis.NormedSpace.LpSpace
-import Mathbin.Analysis.NormedSpace.PiLp
-import Mathbin.Topology.ContinuousFunction.Bounded
+import Analysis.NormedSpace.LpSpace
+import Analysis.NormedSpace.PiLp
+import Topology.ContinuousFunction.Bounded
 
 #align_import analysis.normed_space.lp_equiv from "leanprover-community/mathlib"@"2ebc1d6c2fed9f54c95bbc3998eaa5570527129a"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Jireh Loreaux. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jireh Loreaux
-
-! This file was ported from Lean 3 source module analysis.normed_space.lp_equiv
-! leanprover-community/mathlib commit 2ebc1d6c2fed9f54c95bbc3998eaa5570527129a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.NormedSpace.LpSpace
 import Mathbin.Analysis.NormedSpace.PiLp
 import Mathbin.Topology.ContinuousFunction.Bounded
 
+#align_import analysis.normed_space.lp_equiv from "leanprover-community/mathlib"@"2ebc1d6c2fed9f54c95bbc3998eaa5570527129a"
+
 /-!
 # Equivalences among $L^p$ spaces
 
Diff
@@ -50,6 +50,7 @@ section LpPiLp
 
 variable {α : Type _} {E : α → Type _} [∀ i, NormedAddCommGroup (E i)] {p : ℝ≥0∞}
 
+#print Memℓp.all /-
 /-- When `α` is `finite`, every `f : pre_lp E p` satisfies `mem_ℓp f p`. -/
 theorem Memℓp.all [Finite α] (f : ∀ i, E i) : Memℓp f p :=
   by
@@ -58,9 +59,11 @@ theorem Memℓp.all [Finite α] (f : ∀ i, E i) : Memℓp f p :=
   · exact mem_ℓp_infty_iff.mpr (Set.Finite.bddAbove (Set.range fun i : α => ‖f i‖).toFinite)
   · cases nonempty_fintype α; exact memℓp_gen ⟨finset.univ.sum _, hasSum_fintype _⟩
 #align mem_ℓp.all Memℓp.all
+-/
 
 variable [Fintype α]
 
+#print Equiv.lpPiLp /-
 /-- The canonical `equiv` between `lp E p ≃ pi_Lp p E` when `E : α → Type u` with `[fintype α]`. -/
 def Equiv.lpPiLp : lp E p ≃ PiLp p E where
   toFun f := f
@@ -68,15 +71,21 @@ def Equiv.lpPiLp : lp E p ≃ PiLp p E where
   left_inv f := lp.ext <| funext fun x => rfl
   right_inv f := funext fun x => rfl
 #align equiv.lp_pi_Lp Equiv.lpPiLp
+-/
 
+#print coe_equiv_lpPiLp /-
 theorem coe_equiv_lpPiLp (f : lp E p) : Equiv.lpPiLp f = f :=
   rfl
 #align coe_equiv_lp_pi_Lp coe_equiv_lpPiLp
+-/
 
+#print coe_equiv_lpPiLp_symm /-
 theorem coe_equiv_lpPiLp_symm (f : PiLp p E) : (Equiv.lpPiLp.symm f : ∀ i, E i) = f :=
   rfl
 #align coe_equiv_lp_pi_Lp_symm coe_equiv_lpPiLp_symm
+-/
 
+#print equiv_lpPiLp_norm /-
 theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ :=
   by
   rcases p.trichotomy with (rfl | rfl | h)
@@ -84,21 +93,28 @@ theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ :=
   · rw [PiLp.norm_eq_ciSup, lp.norm_eq_ciSup]; rfl
   · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]; rfl
 #align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
+-/
 
+#print AddEquiv.lpPiLp /-
 /-- The canonical `add_equiv` between `lp E p` and `pi_Lp p E` when `E : α → Type u` with
 `[fintype α]` and `[fact (1 ≤ p)]`. -/
 def AddEquiv.lpPiLp [Fact (1 ≤ p)] : lp E p ≃+ PiLp p E :=
   { Equiv.lpPiLp with map_add' := fun f g => rfl }
 #align add_equiv.lp_pi_Lp AddEquiv.lpPiLp
+-/
 
+#print coe_addEquiv_lpPiLp /-
 theorem coe_addEquiv_lpPiLp [Fact (1 ≤ p)] (f : lp E p) : AddEquiv.lpPiLp f = f :=
   rfl
 #align coe_add_equiv_lp_pi_Lp coe_addEquiv_lpPiLp
+-/
 
+#print coe_addEquiv_lpPiLp_symm /-
 theorem coe_addEquiv_lpPiLp_symm [Fact (1 ≤ p)] (f : PiLp p E) :
     (AddEquiv.lpPiLp.symm f : ∀ i, E i) = f :=
   rfl
 #align coe_add_equiv_lp_pi_Lp_symm coe_addEquiv_lpPiLp_symm
+-/
 
 section Equivₗᵢ
 
@@ -114,13 +130,17 @@ noncomputable def lpPiLpₗᵢ [Fact (1 ≤ p)] : lp E p ≃ₗᵢ[𝕜] PiLp p
 
 variable {𝕜}
 
+#print coe_lpPiLpₗᵢ /-
 theorem coe_lpPiLpₗᵢ [Fact (1 ≤ p)] (f : lp E p) : lpPiLpₗᵢ 𝕜 f = f :=
   rfl
 #align coe_lp_pi_Lpₗᵢ coe_lpPiLpₗᵢ
+-/
 
+#print coe_lpPiLpₗᵢ_symm /-
 theorem coe_lpPiLpₗᵢ_symm [Fact (1 ≤ p)] (f : PiLp p E) : ((lpPiLpₗᵢ 𝕜).symm f : ∀ i, E i) = f :=
   rfl
 #align coe_lp_pi_Lpₗᵢ_symm coe_lpPiLpₗᵢ_symm
+-/
 
 end Equivₗᵢ
 
@@ -141,6 +161,7 @@ variable [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NonUnitalNormedRing R]
 
 section NormedAddCommGroup
 
+#print AddEquiv.lpBcf /-
 /-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as an `add_equiv`. -/
 noncomputable def AddEquiv.lpBcf : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E)
     where
@@ -150,14 +171,19 @@ noncomputable def AddEquiv.lpBcf : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E)
   right_inv f := ext fun x => rfl
   map_add' f g := ext fun x => rfl
 #align add_equiv.lp_bcf AddEquiv.lpBcf
+-/
 
+#print coe_addEquiv_lpBcf /-
 theorem coe_addEquiv_lpBcf (f : lp (fun _ : α => E) ∞) : (AddEquiv.lpBcf f : α → E) = f :=
   rfl
 #align coe_add_equiv_lp_bcf coe_addEquiv_lpBcf
+-/
 
+#print coe_addEquiv_lpBcf_symm /-
 theorem coe_addEquiv_lpBcf_symm (f : α →ᵇ E) : (AddEquiv.lpBcf.symm f : α → E) = f :=
   rfl
 #align coe_add_equiv_lp_bcf_symm coe_addEquiv_lpBcf_symm
+-/
 
 /-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as a `linear_isometry_equiv`. -/
 noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
@@ -168,35 +194,46 @@ noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →
 
 variable {𝕜}
 
+#print coe_lpBcfₗᵢ /-
 theorem coe_lpBcfₗᵢ (f : lp (fun _ : α => E) ∞) : (lpBcfₗᵢ 𝕜 f : α → E) = f :=
   rfl
 #align coe_lp_bcfₗᵢ coe_lpBcfₗᵢ
+-/
 
+#print coe_lpBcfₗᵢ_symm /-
 theorem coe_lpBcfₗᵢ_symm (f : α →ᵇ E) : ((lpBcfₗᵢ 𝕜).symm f : α → E) = f :=
   rfl
 #align coe_lp_bcfₗᵢ_symm coe_lpBcfₗᵢ_symm
+-/
 
 end NormedAddCommGroup
 
 section RingAlgebra
 
+#print RingEquiv.lpBcf /-
 /-- The canonical map between `lp (λ (_ : α), R) ∞` and `α →ᵇ R` as a `ring_equiv`. -/
 noncomputable def RingEquiv.lpBcf : lp (fun _ : α => R) ∞ ≃+* (α →ᵇ R) :=
   { @AddEquiv.lpBcf _ R _ _ _ with map_mul' := fun f g => ext fun x => rfl }
 #align ring_equiv.lp_bcf RingEquiv.lpBcf
+-/
 
 variable {R}
 
+#print coe_ringEquiv_lpBcf /-
 theorem coe_ringEquiv_lpBcf (f : lp (fun _ : α => R) ∞) : (RingEquiv.lpBcf R f : α → R) = f :=
   rfl
 #align coe_ring_equiv_lp_bcf coe_ringEquiv_lpBcf
+-/
 
+#print coe_ringEquiv_lpBcf_symm /-
 theorem coe_ringEquiv_lpBcf_symm (f : α →ᵇ R) : ((RingEquiv.lpBcf R).symm f : α → R) = f :=
   rfl
 #align coe_ring_equiv_lp_bcf_symm coe_ringEquiv_lpBcf_symm
+-/
 
 variable (α)
 
+#print AlgEquiv.lpBcf /-
 -- even `α` needs to be explicit here for elaboration
 -- the `norm_one_class A` shouldn't really be necessary, but currently it is for
 -- `one_mem_ℓp_infty` to get the `ring` instance on `lp`.
@@ -204,16 +241,21 @@ variable (α)
 noncomputable def AlgEquiv.lpBcf : lp (fun _ : α => A) ∞ ≃ₐ[𝕜] α →ᵇ A :=
   { RingEquiv.lpBcf A with commutes' := fun k => rfl }
 #align alg_equiv.lp_bcf AlgEquiv.lpBcf
+-/
 
 variable {α A 𝕜}
 
+#print coe_algEquiv_lpBcf /-
 theorem coe_algEquiv_lpBcf (f : lp (fun _ : α => A) ∞) : (AlgEquiv.lpBcf α A 𝕜 f : α → A) = f :=
   rfl
 #align coe_alg_equiv_lp_bcf coe_algEquiv_lpBcf
+-/
 
+#print coe_algEquiv_lpBcf_symm /-
 theorem coe_algEquiv_lpBcf_symm (f : α →ᵇ A) : ((AlgEquiv.lpBcf α A 𝕜).symm f : α → A) = f :=
   rfl
 #align coe_alg_equiv_lp_bcf_symm coe_algEquiv_lpBcf_symm
+-/
 
 end RingAlgebra
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.lp_equiv
-! leanprover-community/mathlib commit 6afc9b06856ad973f6a2619e3e8a0a8d537a58f2
+! leanprover-community/mathlib commit 2ebc1d6c2fed9f54c95bbc3998eaa5570527129a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Topology.ContinuousFunction.Bounded
 /-!
 # Equivalences among $L^p$ spaces
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we collect a variety of equivalences among various $L^p$ spaces.  In particular,
 when `α` is a `fintype`, given `E : α → Type u` and `p : ℝ≥0∞`, there is a natural linear isometric
 equivalence `lp_pi_Lpₗᵢ : lp E p ≃ₗᵢ pi_Lp p E`. In addition, when `α` is a discrete topological
@@ -51,7 +54,7 @@ variable {α : Type _} {E : α → Type _} [∀ i, NormedAddCommGroup (E i)] {p
 theorem Memℓp.all [Finite α] (f : ∀ i, E i) : Memℓp f p :=
   by
   rcases p.trichotomy with (rfl | rfl | h)
-  · exact mem_ℓp_zero_iff.mpr { i : α | f i ≠ 0 }.toFinite
+  · exact mem_ℓp_zero_iff.mpr {i : α | f i ≠ 0}.toFinite
   · exact mem_ℓp_infty_iff.mpr (Set.Finite.bddAbove (Set.range fun i : α => ‖f i‖).toFinite)
   · cases nonempty_fintype α; exact memℓp_gen ⟨finset.univ.sum _, hasSum_fintype _⟩
 #align mem_ℓp.all Memℓp.all
Diff
@@ -107,7 +107,7 @@ noncomputable def lpPiLpₗᵢ [Fact (1 ≤ p)] : lp E p ≃ₗᵢ[𝕜] PiLp p
   { AddEquiv.lpPiLp with
     map_smul' := fun k f => rfl
     norm_map' := equiv_lpPiLp_norm }
-#align lp_pi_Lpₗᵢ lpPiLpₗᵢ
+#align lp_pi_Lpₗᵢ lpPiLpₗᵢₓ
 
 variable {𝕜}
 
@@ -161,7 +161,7 @@ noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →
   { AddEquiv.lpBcf with
     map_smul' := fun k f => rfl
     norm_map' := fun f => by simp only [norm_eq_supr_norm, lp.norm_eq_ciSup]; rfl }
-#align lp_bcfₗᵢ lpBcfₗᵢ
+#align lp_bcfₗᵢ lpBcfₗᵢₓ
 
 variable {𝕜}
 
Diff
@@ -78,7 +78,7 @@ theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ :=
   by
   rcases p.trichotomy with (rfl | rfl | h)
   · rw [PiLp.norm_eq_card, lp.norm_eq_card_dsupport]; rfl
-  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_csupr]; rfl
+  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_ciSup]; rfl
   · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]; rfl
 #align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
 
@@ -160,7 +160,7 @@ theorem coe_addEquiv_lpBcf_symm (f : α →ᵇ E) : (AddEquiv.lpBcf.symm f : α
 noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
   { AddEquiv.lpBcf with
     map_smul' := fun k f => rfl
-    norm_map' := fun f => by simp only [norm_eq_supr_norm, lp.norm_eq_csupr]; rfl }
+    norm_map' := fun f => by simp only [norm_eq_supr_norm, lp.norm_eq_ciSup]; rfl }
 #align lp_bcfₗᵢ lpBcfₗᵢ
 
 variable {𝕜}
Diff
@@ -41,7 +41,7 @@ the subtype of `pre_lp` satisfying `mem_ℓp`.
 -/
 
 
-open ENNReal
+open scoped ENNReal
 
 section LpPiLp
 
@@ -125,7 +125,7 @@ end LpPiLp
 
 section LpBcf
 
-open BoundedContinuousFunction
+open scoped BoundedContinuousFunction
 
 open BoundedContinuousFunction
 
Diff
@@ -53,8 +53,7 @@ theorem Memℓp.all [Finite α] (f : ∀ i, E i) : Memℓp f p :=
   rcases p.trichotomy with (rfl | rfl | h)
   · exact mem_ℓp_zero_iff.mpr { i : α | f i ≠ 0 }.toFinite
   · exact mem_ℓp_infty_iff.mpr (Set.Finite.bddAbove (Set.range fun i : α => ‖f i‖).toFinite)
-  · cases nonempty_fintype α
-    exact memℓp_gen ⟨finset.univ.sum _, hasSum_fintype _⟩
+  · cases nonempty_fintype α; exact memℓp_gen ⟨finset.univ.sum _, hasSum_fintype _⟩
 #align mem_ℓp.all Memℓp.all
 
 variable [Fintype α]
@@ -78,12 +77,9 @@ theorem coe_equiv_lpPiLp_symm (f : PiLp p E) : (Equiv.lpPiLp.symm f : ∀ i, E i
 theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ :=
   by
   rcases p.trichotomy with (rfl | rfl | h)
-  · rw [PiLp.norm_eq_card, lp.norm_eq_card_dsupport]
-    rfl
-  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_csupr]
-    rfl
-  · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]
-    rfl
+  · rw [PiLp.norm_eq_card, lp.norm_eq_card_dsupport]; rfl
+  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_csupr]; rfl
+  · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]; rfl
 #align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
 
 /-- The canonical `add_equiv` between `lp E p` and `pi_Lp p E` when `E : α → Type u` with
@@ -164,9 +160,7 @@ theorem coe_addEquiv_lpBcf_symm (f : α →ᵇ E) : (AddEquiv.lpBcf.symm f : α
 noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
   { AddEquiv.lpBcf with
     map_smul' := fun k f => rfl
-    norm_map' := fun f => by
-      simp only [norm_eq_supr_norm, lp.norm_eq_csupr]
-      rfl }
+    norm_map' := fun f => by simp only [norm_eq_supr_norm, lp.norm_eq_csupr]; rfl }
 #align lp_bcfₗᵢ lpBcfₗᵢ
 
 variable {𝕜}
Diff
@@ -80,7 +80,7 @@ theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ :=
   rcases p.trichotomy with (rfl | rfl | h)
   · rw [PiLp.norm_eq_card, lp.norm_eq_card_dsupport]
     rfl
-  · rw [PiLp.norm_eq_csupr, lp.norm_eq_csupr]
+  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_csupr]
     rfl
   · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]
     rfl
Diff
@@ -145,7 +145,7 @@ section NormedAddCommGroup
 /-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as an `add_equiv`. -/
 noncomputable def AddEquiv.lpBcf : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E)
     where
-  toFun f := ofNormedAddCommGroupDiscrete f ‖f‖ <| le_csupᵢ (memℓp_infty_iff.mp f.Prop)
+  toFun f := ofNormedAddCommGroupDiscrete f ‖f‖ <| le_ciSup (memℓp_infty_iff.mp f.Prop)
   invFun f := ⟨f, f.bddAbove_range_norm_comp⟩
   left_inv f := lp.ext rfl
   right_inv f := ext fun x => rfl
Diff
@@ -41,7 +41,7 @@ the subtype of `pre_lp` satisfying `mem_ℓp`.
 -/
 
 
-open Ennreal
+open ENNReal
 
 section LpPiLp
 

Changes in mathlib4

mathlib3
mathlib4
chore(LpSpace): cleanup Fintype/Finite (#11428)

Also rename *lpBcf to *lpBCF and drop 2 duplicate instances.

Diff
@@ -46,22 +46,24 @@ set_option linter.uppercaseLean3 false
 
 variable {α : Type*} {E : α → Type*} [∀ i, NormedAddCommGroup (E i)] {p : ℝ≥0∞}
 
+section Finite
+
+variable [Finite α]
+
 /-- When `α` is `Finite`, every `f : PreLp E p` satisfies `Memℓp f p`. -/
-theorem Memℓp.all [Finite α] (f : ∀ i, E i) : Memℓp f p := by
+theorem Memℓp.all (f : ∀ i, E i) : Memℓp f p := by
   rcases p.trichotomy with (rfl | rfl | _h)
   · exact memℓp_zero_iff.mpr { i : α | f i ≠ 0 }.toFinite
-  · exact memℓp_infty_iff.mpr (Set.Finite.bddAbove (Set.range fun i : α => ‖f i‖).toFinite)
+  · exact memℓp_infty_iff.mpr (Set.Finite.bddAbove (Set.range fun i : α ↦ ‖f i‖).toFinite)
   · cases nonempty_fintype α; exact memℓp_gen ⟨Finset.univ.sum _, hasSum_fintype _⟩
 #align mem_ℓp.all Memℓp.all
 
-variable [Fintype α]
-
-/-- The canonical `Equiv` between `lp E p ≃ PiLp p E` when `E : α → Type u` with `[Fintype α]`. -/
+/-- The canonical `Equiv` between `lp E p ≃ PiLp p E` when `E : α → Type u` with `[Finite α]`. -/
 def Equiv.lpPiLp : lp E p ≃ PiLp p E where
   toFun f := ⇑f
   invFun f := ⟨f, Memℓp.all f⟩
-  left_inv _f := lp.ext <| funext fun _x => rfl
-  right_inv _f := funext fun _x => rfl
+  left_inv _f := rfl
+  right_inv _f := rfl
 #align equiv.lp_pi_Lp Equiv.lpPiLp
 
 theorem coe_equiv_lpPiLp (f : lp E p) : Equiv.lpPiLp f = ⇑f :=
@@ -72,17 +74,10 @@ theorem coe_equiv_lpPiLp_symm (f : PiLp p E) : (Equiv.lpPiLp.symm f : ∀ i, E i
   rfl
 #align coe_equiv_lp_pi_Lp_symm coe_equiv_lpPiLp_symm
 
-theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ := by
-  rcases p.trichotomy with (rfl | rfl | h)
-  · simp [Equiv.lpPiLp, PiLp.norm_eq_card, lp.norm_eq_card_dsupport]
-  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_ciSup]; rfl
-  · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]; rfl
-#align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
-
 /-- The canonical `AddEquiv` between `lp E p` and `PiLp p E` when `E : α → Type u` with
 `[Fintype α]`. -/
 def AddEquiv.lpPiLp : lp E p ≃+ PiLp p E :=
-  { Equiv.lpPiLp with map_add' := fun _f _g => rfl }
+  { Equiv.lpPiLp with map_add' := fun _f _g ↦ rfl }
 #align add_equiv.lp_pi_Lp AddEquiv.lpPiLp
 
 theorem coe_addEquiv_lpPiLp  (f : lp E p) : AddEquiv.lpPiLp f = ⇑f :=
@@ -94,9 +89,18 @@ theorem coe_addEquiv_lpPiLp_symm (f : PiLp p E) :
   rfl
 #align coe_add_equiv_lp_pi_Lp_symm coe_addEquiv_lpPiLp_symm
 
+end Finite
+
+theorem equiv_lpPiLp_norm [Fintype α] (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ := by
+  rcases p.trichotomy with (rfl | rfl | h)
+  · simp [Equiv.lpPiLp, PiLp.norm_eq_card, lp.norm_eq_card_dsupport]
+  · rw [PiLp.norm_eq_ciSup, lp.norm_eq_ciSup]; rfl
+  · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]; rfl
+#align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
+
 section Equivₗᵢ
 
-variable (𝕜 : Type*) [NontriviallyNormedField 𝕜] [∀ i, NormedSpace 𝕜 (E i)]
+variable [Fintype α] (𝕜 : Type*) [NontriviallyNormedField 𝕜] [∀ i, NormedSpace 𝕜 (E i)]
 variable (E)
 /- porting note: Lean is unable to work with `lpPiLpₗᵢ` if `E` is implicit without
 annotating with `(E := E)` everywhere, so we just make it explicit. This file has no
@@ -106,7 +110,7 @@ dependencies. -/
 with `[Fintype α]` and `[Fact (1 ≤ p)]`. -/
 noncomputable def lpPiLpₗᵢ [Fact (1 ≤ p)] : lp E p ≃ₗᵢ[𝕜] PiLp p E :=
   { AddEquiv.lpPiLp with
-    map_smul' := fun _k _f => rfl
+    map_smul' := fun _k _f ↦ rfl
     norm_map' := equiv_lpPiLp_norm }
 #align lp_pi_Lpₗᵢ lpPiLpₗᵢₓ
 -- Porting note: `#align`ed with an `ₓ` because `E` is now explicit, see above
@@ -126,7 +130,7 @@ end Equivₗᵢ
 
 end LpPiLp
 
-section LpBcf
+section LpBCF
 
 open scoped BoundedContinuousFunction
 
@@ -140,22 +144,23 @@ variable [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NonUnitalNormedRing R]
 section NormedAddCommGroup
 
 /-- The canonical map between `lp (fun _ : α ↦ E) ∞` and `α →ᵇ E` as an `AddEquiv`. -/
-noncomputable def AddEquiv.lpBcf : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E) where
+noncomputable def AddEquiv.lpBCF : lp (fun _ : α ↦ E) ∞ ≃+ (α →ᵇ E) where
   toFun f := ofNormedAddCommGroupDiscrete f ‖f‖ <| le_ciSup (memℓp_infty_iff.mp f.prop)
   invFun f := ⟨⇑f, f.bddAbove_range_norm_comp⟩
   left_inv _f := lp.ext rfl
-  right_inv _f := BoundedContinuousFunction.ext fun _x => rfl
-  map_add' _f _g := BoundedContinuousFunction.ext fun _x => rfl
+  right_inv _f := rfl
+  map_add' _f _g := rfl
+#align add_equiv.lp_bcf AddEquiv.lpBCF
 
-#align add_equiv.lp_bcf AddEquiv.lpBcf
+@[deprecated] alias AddEquiv.lpBcf := AddEquiv.lpBCF -- 2024-03-16
 
-theorem coe_addEquiv_lpBcf (f : lp (fun _ : α => E) ∞) : (AddEquiv.lpBcf f : α → E) = f :=
+theorem coe_addEquiv_lpBCF (f : lp (fun _ : α ↦ E) ∞) : (AddEquiv.lpBCF f : α → E) = f :=
   rfl
-#align coe_add_equiv_lp_bcf coe_addEquiv_lpBcf
+#align coe_add_equiv_lp_bcf coe_addEquiv_lpBCF
 
-theorem coe_addEquiv_lpBcf_symm (f : α →ᵇ E) : (AddEquiv.lpBcf.symm f : α → E) = f :=
+theorem coe_addEquiv_lpBCF_symm (f : α →ᵇ E) : (AddEquiv.lpBCF.symm f : α → E) = f :=
   rfl
-#align coe_add_equiv_lp_bcf_symm coe_addEquiv_lpBcf_symm
+#align coe_add_equiv_lp_bcf_symm coe_addEquiv_lpBCF_symm
 
 variable (E)
 /- porting note: Lean is unable to work with `lpPiLpₗᵢ` if `E` is implicit without
@@ -163,42 +168,46 @@ annotating with `(E := E)` everywhere, so we just make it explicit. This file ha
 dependencies. -/
 
 /-- The canonical map between `lp (fun _ : α ↦ E) ∞` and `α →ᵇ E` as a `LinearIsometryEquiv`. -/
-noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
-  { AddEquiv.lpBcf with
-    map_smul' := fun k f => rfl
-    norm_map' := fun f => by simp only [norm_eq_iSup_norm, lp.norm_eq_ciSup]; rfl }
-#align lp_bcfₗᵢ lpBcfₗᵢₓ
+noncomputable def lpBCFₗᵢ : lp (fun _ : α ↦ E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
+  { AddEquiv.lpBCF with
+    map_smul' := fun k f ↦ rfl
+    norm_map' := fun f ↦ by simp only [norm_eq_iSup_norm, lp.norm_eq_ciSup]; rfl }
+#align lp_bcfₗᵢ lpBCFₗᵢₓ
 -- Porting note: `#align`ed with an `ₓ` because `E` is now explicit, see above
 
+@[deprecated] alias lpBcfₗᵢ := lpBCFₗᵢ -- 2024-03-16
+
 variable {𝕜 E}
 
-theorem coe_lpBcfₗᵢ (f : lp (fun _ : α => E) ∞) : (lpBcfₗᵢ E 𝕜 f : α → E) = f :=
+theorem coe_lpBCFₗᵢ (f : lp (fun _ : α ↦ E) ∞) : (lpBCFₗᵢ E 𝕜 f : α → E) = f :=
   rfl
-#align coe_lp_bcfₗᵢ coe_lpBcfₗᵢ
+#align coe_lp_bcfₗᵢ coe_lpBCFₗᵢ
 
-theorem coe_lpBcfₗᵢ_symm (f : α →ᵇ E) : ((lpBcfₗᵢ E 𝕜).symm f : α → E) = f :=
+theorem coe_lpBCFₗᵢ_symm (f : α →ᵇ E) : ((lpBCFₗᵢ E 𝕜).symm f : α → E) = f :=
   rfl
-#align coe_lp_bcfₗᵢ_symm coe_lpBcfₗᵢ_symm
+#align coe_lp_bcfₗᵢ_symm coe_lpBCFₗᵢ_symm
 
 end NormedAddCommGroup
 
 section RingAlgebra
 
 /-- The canonical map between `lp (fun _ : α ↦ R) ∞` and `α →ᵇ R` as a `RingEquiv`. -/
-noncomputable def RingEquiv.lpBcf : lp (fun _ : α => R) ∞ ≃+* (α →ᵇ R) :=
-  { @AddEquiv.lpBcf _ R _ _ _ with
-    map_mul' := fun _f _g => BoundedContinuousFunction.ext fun _x => rfl }
-#align ring_equiv.lp_bcf RingEquiv.lpBcf
+noncomputable def RingEquiv.lpBCF : lp (fun _ : α ↦ R) ∞ ≃+* (α →ᵇ R) :=
+  { @AddEquiv.lpBCF _ R _ _ _ with
+    map_mul' := fun _f _g => rfl }
+#align ring_equiv.lp_bcf RingEquiv.lpBCF
+
+@[deprecated] alias RingEquiv.lpBcf := RingEquiv.lpBCF -- 2024-03-16
 
 variable {R}
 
-theorem coe_ringEquiv_lpBcf (f : lp (fun _ : α => R) ∞) : (RingEquiv.lpBcf R f : α → R) = f :=
+theorem coe_ringEquiv_lpBCF (f : lp (fun _ : α ↦ R) ∞) : (RingEquiv.lpBCF R f : α → R) = f :=
   rfl
-#align coe_ring_equiv_lp_bcf coe_ringEquiv_lpBcf
+#align coe_ring_equiv_lp_bcf coe_ringEquiv_lpBCF
 
-theorem coe_ringEquiv_lpBcf_symm (f : α →ᵇ R) : ((RingEquiv.lpBcf R).symm f : α → R) = f :=
+theorem coe_ringEquiv_lpBCF_symm (f : α →ᵇ R) : ((RingEquiv.lpBCF R).symm f : α → R) = f :=
   rfl
-#align coe_ring_equiv_lp_bcf_symm coe_ringEquiv_lpBcf_symm
+#align coe_ring_equiv_lp_bcf_symm coe_ringEquiv_lpBCF_symm
 
 variable (α)
 
@@ -206,20 +215,22 @@ variable (α)
 -- the `NormOneClass A` shouldn't really be necessary, but currently it is for
 -- `one_memℓp_infty` to get the `Ring` instance on `lp`.
 /-- The canonical map between `lp (fun _ : α ↦ A) ∞` and `α →ᵇ A` as an `AlgEquiv`. -/
-noncomputable def AlgEquiv.lpBcf : lp (fun _ : α => A) ∞ ≃ₐ[𝕜] α →ᵇ A :=
-  { RingEquiv.lpBcf A with commutes' := fun _k => rfl }
-#align alg_equiv.lp_bcf AlgEquiv.lpBcf
+noncomputable def AlgEquiv.lpBCF : lp (fun _ : α ↦ A) ∞ ≃ₐ[𝕜] α →ᵇ A :=
+  { RingEquiv.lpBCF A with commutes' := fun _k ↦ rfl }
+#align alg_equiv.lp_bcf AlgEquiv.lpBCF
+
+@[deprecated] alias AlgEquiv.lpBcf := AlgEquiv.lpBCF -- 2024-03-16
 
 variable {α A 𝕜}
 
-theorem coe_algEquiv_lpBcf (f : lp (fun _ : α => A) ∞) : (AlgEquiv.lpBcf α A 𝕜 f : α → A) = f :=
+theorem coe_algEquiv_lpBCF (f : lp (fun _ : α ↦ A) ∞) : (AlgEquiv.lpBCF α A 𝕜 f : α → A) = f :=
   rfl
-#align coe_alg_equiv_lp_bcf coe_algEquiv_lpBcf
+#align coe_alg_equiv_lp_bcf coe_algEquiv_lpBCF
 
-theorem coe_algEquiv_lpBcf_symm (f : α →ᵇ A) : ((AlgEquiv.lpBcf α A 𝕜).symm f : α → A) = f :=
+theorem coe_algEquiv_lpBCF_symm (f : α →ᵇ A) : ((AlgEquiv.lpBCF α A 𝕜).symm f : α → A) = f :=
   rfl
-#align coe_alg_equiv_lp_bcf_symm coe_algEquiv_lpBcf_symm
+#align coe_alg_equiv_lp_bcf_symm coe_algEquiv_lpBCF_symm
 
 end RingAlgebra
 
-end LpBcf
+end LpBCF
chore(*): remove empty lines between variable statements (#11418)

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)
Diff
@@ -134,9 +134,7 @@ open BoundedContinuousFunction
 
 -- note: `R` and `A` are explicit because otherwise Lean has elaboration problems
 variable {α E : Type*} (R A 𝕜 : Type*) [TopologicalSpace α] [DiscreteTopology α]
-
 variable [NormedRing A] [NormOneClass A] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 A]
-
 variable [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NonUnitalNormedRing R]
 
 section NormedAddCommGroup
chore: replace λ by fun (#11301)

Per the style guidelines, λ is disallowed in mathlib. This is close to exhaustive; I left some tactic code alone when it seemed to me that tactic could be upstreamed soon.

Notes

  • In lines I was modifying anyway, I also converted => to .
  • Also contains some mild in-passing indentation fixes in Mathlib/Order/SupClosed.
  • Some doc comments still contained Lean 3 syntax λ x, , which I also replaced.
Diff
@@ -15,9 +15,9 @@ import Mathlib.Topology.ContinuousFunction.Bounded
 In this file we collect a variety of equivalences among various $L^p$ spaces.  In particular,
 when `α` is a `Fintype`, given `E : α → Type u` and `p : ℝ≥0∞`, there is a natural linear isometric
 equivalence `lpPiLpₗᵢₓ : lp E p ≃ₗᵢ PiLp p E`. In addition, when `α` is a discrete topological
-space, the bounded continuous functions `α →ᵇ β` correspond exactly to `lp (λ _, β) ∞`. Here there
-can be more structure, including ring and algebra structures, and we implement these equivalences
-accordingly as well.
+space, the bounded continuous functions `α →ᵇ β` correspond exactly to `lp (fun _ ↦ β) ∞`.
+Here there can be more structure, including ring and algebra structures,
+and we implement these equivalences accordingly as well.
 
 We keep this as a separate file so that the various $L^p$ space files don't import the others.
 
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -109,7 +109,7 @@ noncomputable def lpPiLpₗᵢ [Fact (1 ≤ p)] : lp E p ≃ₗᵢ[𝕜] PiLp p
     map_smul' := fun _k _f => rfl
     norm_map' := equiv_lpPiLp_norm }
 #align lp_pi_Lpₗᵢ lpPiLpₗᵢₓ
--- porting note: `#align`ed with an `ₓ` because `E` is now explicit, see above
+-- Porting note: `#align`ed with an `ₓ` because `E` is now explicit, see above
 
 variable {𝕜 E}
 
@@ -170,7 +170,7 @@ noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →
     map_smul' := fun k f => rfl
     norm_map' := fun f => by simp only [norm_eq_iSup_norm, lp.norm_eq_ciSup]; rfl }
 #align lp_bcfₗᵢ lpBcfₗᵢₓ
--- porting note: `#align`ed with an `ₓ` because `E` is now explicit, see above
+-- Porting note: `#align`ed with an `ₓ` because `E` is now explicit, see above
 
 variable {𝕜 E}
 
chore(*): use ∃ 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.

Diff
@@ -141,7 +141,7 @@ variable [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NonUnitalNormedRing R]
 
 section NormedAddCommGroup
 
-/-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as an `AddEquiv`. -/
+/-- The canonical map between `lp (fun _ : α ↦ E) ∞` and `α →ᵇ E` as an `AddEquiv`. -/
 noncomputable def AddEquiv.lpBcf : lp (fun _ : α => E) ∞ ≃+ (α →ᵇ E) where
   toFun f := ofNormedAddCommGroupDiscrete f ‖f‖ <| le_ciSup (memℓp_infty_iff.mp f.prop)
   invFun f := ⟨⇑f, f.bddAbove_range_norm_comp⟩
@@ -164,7 +164,7 @@ variable (E)
 annotating with `(E := E)` everywhere, so we just make it explicit. This file has no
 dependencies. -/
 
-/-- The canonical map between `lp (λ (_ : α), E) ∞` and `α →ᵇ E` as a `LinearIsometryEquiv`. -/
+/-- The canonical map between `lp (fun _ : α ↦ E) ∞` and `α →ᵇ E` as a `LinearIsometryEquiv`. -/
 noncomputable def lpBcfₗᵢ : lp (fun _ : α => E) ∞ ≃ₗᵢ[𝕜] α →ᵇ E :=
   { AddEquiv.lpBcf with
     map_smul' := fun k f => rfl
@@ -186,7 +186,7 @@ end NormedAddCommGroup
 
 section RingAlgebra
 
-/-- The canonical map between `lp (λ (_ : α), R) ∞` and `α →ᵇ R` as a `RingEquiv`. -/
+/-- The canonical map between `lp (fun _ : α ↦ R) ∞` and `α →ᵇ R` as a `RingEquiv`. -/
 noncomputable def RingEquiv.lpBcf : lp (fun _ : α => R) ∞ ≃+* (α →ᵇ R) :=
   { @AddEquiv.lpBcf _ R _ _ _ with
     map_mul' := fun _f _g => BoundedContinuousFunction.ext fun _x => rfl }
@@ -207,7 +207,7 @@ variable (α)
 -- even `α` needs to be explicit here for elaboration
 -- the `NormOneClass A` shouldn't really be necessary, but currently it is for
 -- `one_memℓp_infty` to get the `Ring` instance on `lp`.
-/-- The canonical map between `lp (λ (_ : α), A) ∞` and `α →ᵇ A` as an `AlgEquiv`. -/
+/-- The canonical map between `lp (fun _ : α ↦ A) ∞` and `α →ᵇ A` as an `AlgEquiv`. -/
 noncomputable def AlgEquiv.lpBcf : lp (fun _ : α => A) ∞ ≃ₐ[𝕜] α →ᵇ A :=
   { RingEquiv.lpBcf A with commutes' := fun _k => rfl }
 #align alg_equiv.lp_bcf AlgEquiv.lpBcf
refactor(Algebra/Group/Defs): Separate commutative and associative multiplication (addition) (#7060)

Currently in Mathlib there is no class for magma that are commutative but not associative - Field extends CommRing and DivisionRing, CommRing extends Ring and CommMonoid, CommGroup extends Group and CommMonoid and CommMonoid extends CommSemigroup and Monoid. CommSemigroup currently extends only Semigroup and has mul_comm as a property.

This PR moves mul_comm into a new CommMagma (AddCommMagma) class which extends Mul (Add). CommSemigroup now extends Semigroup and CommMagma.

The rest of Mathlib4 compiles as before, except with the need to increase synthInstance.maxHeartbeats for lift_of_splits.

(Update: The linter is objecting to an unused argument in what seems to be a completely unrelated bit of code (AddEquiv.lpPiLp). Trying a nolint for now.)

Also referenced in https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/.60add_comm.60.20without.20.60add_assoc.60

Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com> Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -80,16 +80,16 @@ theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ := by
 #align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
 
 /-- The canonical `AddEquiv` between `lp E p` and `PiLp p E` when `E : α → Type u` with
-`[Fintype α]` and `[Fact (1 ≤ p)]`. -/
-def AddEquiv.lpPiLp [Fact (1 ≤ p)] : lp E p ≃+ PiLp p E :=
+`[Fintype α]`. -/
+def AddEquiv.lpPiLp : lp E p ≃+ PiLp p E :=
   { Equiv.lpPiLp with map_add' := fun _f _g => rfl }
 #align add_equiv.lp_pi_Lp AddEquiv.lpPiLp
 
-theorem coe_addEquiv_lpPiLp [Fact (1 ≤ p)] (f : lp E p) : AddEquiv.lpPiLp f = ⇑f :=
+theorem coe_addEquiv_lpPiLp  (f : lp E p) : AddEquiv.lpPiLp f = ⇑f :=
   rfl
 #align coe_add_equiv_lp_pi_Lp coe_addEquiv_lpPiLp
 
-theorem coe_addEquiv_lpPiLp_symm [Fact (1 ≤ p)] (f : PiLp p E) :
+theorem coe_addEquiv_lpPiLp_symm (f : PiLp p E) :
     (AddEquiv.lpPiLp.symm f : ∀ i, E i) = f :=
   rfl
 #align coe_add_equiv_lp_pi_Lp_symm coe_addEquiv_lpPiLp_symm
feat: change definition for p = 0 in piLp (#8290)

The current definition of the distance in piLp uses the distance for p > 0, but avoids it for p = 0. We change the definition for p = 0 to also have it in terms of the distance, to make sure it is reasonable even when one uses non-Hausdorff spaces.This matches what has been done for prodLp in #6136.

Diff
@@ -74,7 +74,7 @@ theorem coe_equiv_lpPiLp_symm (f : PiLp p E) : (Equiv.lpPiLp.symm f : ∀ i, E i
 
 theorem equiv_lpPiLp_norm (f : lp E p) : ‖Equiv.lpPiLp f‖ = ‖f‖ := by
   rcases p.trichotomy with (rfl | rfl | h)
-  · rw [PiLp.norm_eq_card, lp.norm_eq_card_dsupport]
+  · simp [Equiv.lpPiLp, PiLp.norm_eq_card, lp.norm_eq_card_dsupport]
   · rw [PiLp.norm_eq_ciSup, lp.norm_eq_ciSup]; rfl
   · rw [PiLp.norm_eq_sum h, lp.norm_eq_tsum_rpow h, tsum_fintype]; rfl
 #align equiv_lp_pi_Lp_norm equiv_lpPiLp_norm
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -44,7 +44,7 @@ section LpPiLp
 
 set_option linter.uppercaseLean3 false
 
-variable {α : Type _} {E : α → Type _} [∀ i, NormedAddCommGroup (E i)] {p : ℝ≥0∞}
+variable {α : Type*} {E : α → Type*} [∀ i, NormedAddCommGroup (E i)] {p : ℝ≥0∞}
 
 /-- When `α` is `Finite`, every `f : PreLp E p` satisfies `Memℓp f p`. -/
 theorem Memℓp.all [Finite α] (f : ∀ i, E i) : Memℓp f p := by
@@ -96,7 +96,7 @@ theorem coe_addEquiv_lpPiLp_symm [Fact (1 ≤ p)] (f : PiLp p E) :
 
 section Equivₗᵢ
 
-variable (𝕜 : Type _) [NontriviallyNormedField 𝕜] [∀ i, NormedSpace 𝕜 (E i)]
+variable (𝕜 : Type*) [NontriviallyNormedField 𝕜] [∀ i, NormedSpace 𝕜 (E i)]
 variable (E)
 /- porting note: Lean is unable to work with `lpPiLpₗᵢ` if `E` is implicit without
 annotating with `(E := E)` everywhere, so we just make it explicit. This file has no
@@ -133,7 +133,7 @@ open scoped BoundedContinuousFunction
 open BoundedContinuousFunction
 
 -- note: `R` and `A` are explicit because otherwise Lean has elaboration problems
-variable {α E : Type _} (R A 𝕜 : Type _) [TopologicalSpace α] [DiscreteTopology α]
+variable {α E : Type*} (R A 𝕜 : Type*) [TopologicalSpace α] [DiscreteTopology α]
 
 variable [NormedRing A] [NormOneClass A] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 A]
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Jireh Loreaux. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jireh Loreaux
-
-! This file was ported from Lean 3 source module analysis.normed_space.lp_equiv
-! leanprover-community/mathlib commit 6afc9b06856ad973f6a2619e3e8a0a8d537a58f2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.NormedSpace.lpSpace
 import Mathlib.Analysis.NormedSpace.PiLp
 import Mathlib.Topology.ContinuousFunction.Bounded
 
+#align_import analysis.normed_space.lp_equiv from "leanprover-community/mathlib"@"6afc9b06856ad973f6a2619e3e8a0a8d537a58f2"
+
 /-!
 # Equivalences among $L^p$ spaces
 
feat: port Analysis.NormedSpace.LpEquiv (#4554)

This PR also renames Analysis.NormedSpace.LpSpace to Analysis.NormedSpace.lpSpace per this Zulip poll

Dependencies 12 + 819

820 files ported (98.6%)
363374 lines ported (98.5%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file