analysis.normed_space.pi_LpMathlib.Analysis.NormedSpace.PiLp

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)

(last sync)

doc(analysis/normed_space/pi_Lp): fix corrupt synchronization header (#19134)

The missing blank line makes a mess in doc-gen.

Hopefully this file was just strangely formatted, and this isn't a new bug in the script.

Diff
@@ -12,6 +12,7 @@ import linear_algebra.matrix.basis
 
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
 > Any changes to this file require a corresponding PR to mathlib4.
+
 Given finitely many metric spaces, one can put the max distance on their product, but there is also
 a whole family of natural distances, indexed by a parameter `p : ℝ≥0∞`, that also induce
 the product topology. We define them in this file. For `0 < p < ∞`, the distance on `Π i, α i`

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -629,7 +629,7 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) :=
   by
   have := p.to_real_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.natCast_ne_top n)
-  simp only [one_div, h, Real.rpow_nat_cast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
+  simp only [one_div, h, Real.rpow_natCast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 -/
Diff
@@ -450,7 +450,7 @@ theorem antilipschitzWith_equiv_aux :
         simp only [nsmul_eq_mul, Finset.card_univ, ENNReal.rpow_one, Finset.sum_const,
           ENNReal.mul_rpow_of_nonneg _ _ nonneg, ← ENNReal.rpow_mul, cancel]
         have : (Fintype.card ι : ℝ≥0∞) = (Fintype.card ι : ℝ≥0) :=
-          (ENNReal.coe_nat (Fintype.card ι)).symm
+          (ENNReal.coe_natCast (Fintype.card ι)).symm
         rw [this, ENNReal.coe_rpow_of_nonneg _ nonneg]
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 -/
@@ -628,7 +628,7 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) :=
   by
-  have := p.to_real_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.nat_ne_top n)
+  have := p.to_real_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.natCast_ne_top n)
   simp only [one_div, h, Real.rpow_nat_cast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
Diff
@@ -66,7 +66,7 @@ We also set up the theory for `pseudo_emetric_space` and `pseudo_metric_space`.
 -/
 
 
-open Real Set Filter IsROrC Bornology
+open Real Set Filter RCLike Bornology
 
 open scoped BigOperators uniformity Topology NNReal ENNReal
 
@@ -406,7 +406,7 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
   ·
     simpa only [ENNReal.coe_one, one_mul, edist_eq_supr, edist, Finset.sup_le_iff, Finset.mem_univ,
       forall_true_left] using le_iSup fun i => edist (x i) (y i)
-  · have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le h).ne'
+  · have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel₀ 1 (zero_lt_one.trans_le h).ne'
     rw [edist_eq_sum (zero_lt_one.trans_le h)]
     simp only [edist, forall_prop_of_true, one_mul, Finset.mem_univ, Finset.sup_le_iff,
       ENNReal.coe_one]
@@ -432,7 +432,7 @@ theorem antilipschitzWith_equiv_aux :
     exact fun i => Finset.le_sup (Finset.mem_univ i)
   · have pos : 0 < p.to_real := zero_lt_one.trans_le h
     have nonneg : 0 ≤ 1 / p.to_real := one_div_nonneg.2 (le_of_lt Pos)
-    have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (ne_of_gt Pos)
+    have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel₀ 1 (ne_of_gt Pos)
     rw [edist_eq_sum Pos, ENNReal.toReal_div 1 p]
     simp only [edist, ← one_div, ENNReal.one_toReal]
     calc
@@ -690,7 +690,7 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
       · letI : Module 𝕜 (PiLp ∞ β) := Pi.module ι β 𝕜
         suffices ‖c • f‖₊ = ‖c‖₊ * ‖f‖₊ by exact_mod_cast NNReal.coe_mono this.le
         simpa only [nnnorm_eq_csupr, NNReal.mul_iSup, ← nnnorm_smul]
-      · have : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le hp).ne'
+      · have : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel₀ 1 (zero_lt_one.trans_le hp).ne'
         simp only [norm_eq_sum (zero_lt_one.trans_le hp), norm_smul, mul_rpow, norm_nonneg, ←
           Finset.mul_sum, Pi.smul_apply]
         rw [mul_rpow (rpow_nonneg_of_nonneg (norm_nonneg _) _), ← rpow_mul (norm_nonneg _), this,
Diff
@@ -596,7 +596,7 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
     dist_eq := fun x y => by
       rcases p.dichotomy with (rfl | h)
       · simpa only [dist_eq_csupr, norm_eq_csupr, dist_eq_norm]
-      · have : p ≠ ∞ := by intro hp; rw [hp, ENNReal.top_toReal] at h ; linarith
+      · have : p ≠ ∞ := by intro hp; rw [hp, ENNReal.top_toReal] at h; linarith
         simpa only [dist_eq_sum (zero_lt_one.trans_le h), norm_eq_sum (zero_lt_one.trans_le h),
           dist_eq_norm] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
@@ -1122,7 +1122,7 @@ theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 
   have := basis_toMatrix_basisFun_mul (b.map (PiLp.linearEquiv _ 𝕜 _)) A
   simp_rw [← PiLp.basisFun_map p, Basis.map_repr, LinearEquiv.trans_apply,
     PiLp.linearEquiv_symm_apply, Basis.toMatrix_map, Function.comp, Basis.map_apply,
-    LinearEquiv.symm_apply_apply] at this 
+    LinearEquiv.symm_apply_apply] at this
   exact this
 #align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mul
 -/
Diff
@@ -379,7 +379,7 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
     rcases p.dichotomy with (rfl | h)
     · rw [edist_eq_supr, dist_eq_csupr]
       · cases isEmpty_or_nonempty ι
-        · simp only [Real.ciSup_empty, ciSup_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
+        · simp only [Real.iSup_of_isEmpty, ciSup_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
         · refine' le_antisymm (ciSup_le fun i => _) _
           · rw [← ENNReal.ofReal_le_iff_le_toReal (supr_edist_ne_top_aux f g), ←
               PseudoMetricSpace.edist_dist]
Diff
@@ -243,18 +243,18 @@ section Norm
 
 variable [∀ i, Norm (β i)] [∀ i, Zero (β i)]
 
-#print PiLp.hasNorm /-
+#print PiLp.instNorm /-
 /-- Endowing the space `pi_Lp p β` with the `L^p` norm. We register this instance
 separate from `pi_Lp.seminormed_add_comm_group` since the latter requires the type class hypothesis
 `[fact (1 ≤ p)]` in order to prove the triangle inequality.
 
 Registering this separately allows for a future norm-like structure on `pi_Lp p β` for `p < 1`
 satisfying a relaxed triangle inequality. These are called *quasi-norms*. -/
-instance hasNorm : Norm (PiLp p β)
+instance instNorm : Norm (PiLp p β)
     where norm f :=
     if hp : p = 0 then {i | f i ≠ 0}.toFinite.toFinset.card
     else if p = ∞ then ⨆ i, ‖f i‖ else (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal)
-#align pi_Lp.has_norm PiLp.hasNorm
+#align pi_Lp.has_norm PiLp.instNorm
 -/
 
 variable {p β}
Diff
@@ -346,7 +346,7 @@ theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
     [∀ i, PseudoMetricSpace (α i)] (f g : PiLp ∞ α) : (⨆ i, edist (f i) (g i)) ≠ ⊤ :=
   by
   cases nonempty_fintype ι
-  obtain ⟨M, hM⟩ := Fintype.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
+  obtain ⟨M, hM⟩ := Finite.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
   refine' ne_of_lt ((iSup_le fun i => _).trans_lt (@ENNReal.coe_lt_top M))
   simp only [edist, PseudoMetricSpace.edist_dist, ENNReal.ofReal_eq_coe_nnreal dist_nonneg]
   exact_mod_cast hM i
@@ -388,7 +388,7 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
             · rintro - ⟨i, rfl⟩
               exact dist_nonneg
             · unfold edist; rw [PseudoMetricSpace.edist_dist]
-              exact ENNReal.ofReal_le_ofReal (le_ciSup (Fintype.bddAbove_range _) i)
+              exact ENNReal.ofReal_le_ofReal (le_ciSup (Finite.bddAbove_range _) i)
     · have A : ∀ i, edist (f i) (g i) ^ p.to_real ≠ ⊤ := fun i =>
         ENNReal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)
       simp only [edist_eq_sum (zero_lt_one.trans_le h), dist_edist, ENNReal.toReal_rpow,
@@ -767,7 +767,7 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
       suffices (finset.univ.sup fun i => ‖f i‖₊) = ⨆ i, ‖f i‖₊ by
         simpa only [NNReal.coe_iSup] using congr_arg (coe : ℝ≥0 → ℝ) this
       refine'
-        antisymm (Finset.sup_le fun i _ => le_ciSup (Fintype.bddAbove_range fun i => ‖f i‖₊) _) _
+        antisymm (Finset.sup_le fun i _ => le_ciSup (Finite.bddAbove_range fun i => ‖f i‖₊) _) _
       cases isEmpty_or_nonempty ι
       · simp only [ciSup_of_empty, Finset.univ_eq_empty, Finset.sup_empty]
       · exact ciSup_le fun i => Finset.le_sup (Finset.mem_univ i) }
Diff
@@ -551,14 +551,14 @@ instance [∀ i, MetricSpace (α i)] : MetricSpace (PiLp p α) :=
 theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
     nndist x y = (∑ i : ι, nndist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) :=
-  Subtype.ext <| by push_cast ; exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
+  Subtype.ext <| by push_cast; exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
 -/
 
 #print PiLp.nndist_eq_iSup /-
 theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
-  Subtype.ext <| by push_cast ; exact dist_eq_csupr _ _
+  Subtype.ext <| by push_cast; exact dist_eq_csupr _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
 -/
 
@@ -644,7 +644,7 @@ theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)
 #print PiLp.nnnorm_eq_of_L2 /-
 theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖₊ = NNReal.sqrt (∑ i : ι, ‖x i‖₊ ^ 2) :=
-  Subtype.ext <| by push_cast ; exact norm_eq_of_L2 x
+  Subtype.ext <| by push_cast; exact norm_eq_of_L2 x
 #align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2
 -/
 
@@ -668,7 +668,7 @@ theorem dist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)
 #print PiLp.nndist_eq_of_L2 /-
 theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     nndist x y = (∑ i, nndist (x i) (y i) ^ 2).sqrt :=
-  Subtype.ext <| by push_cast ; exact dist_eq_of_L2 _ _
+  Subtype.ext <| by push_cast; exact dist_eq_of_L2 _ _
 #align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2
 -/
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 -/
-import Mathbin.Analysis.MeanInequalities
-import Mathbin.Data.Fintype.Order
-import Mathbin.LinearAlgebra.Matrix.Basis
+import Analysis.MeanInequalities
+import Data.Fintype.Order
+import LinearAlgebra.Matrix.Basis
 
 #align_import analysis.normed_space.pi_Lp from "leanprover-community/mathlib"@"9d013ad8430ddddd350cff5c3db830278ded3c79"
 
Diff
@@ -90,30 +90,28 @@ namespace PiLp
 
 variable (p : ℝ≥0∞) (𝕜 𝕜' : Type _) {ι : Type _} (α : ι → Type _) (β : ι → Type _)
 
-#print PiLp.equiv /-
 /-- Canonical bijection between `pi_Lp p α` and the original Pi type. We introduce it to be able
 to compare the `L^p` and `L^∞` distances through it. -/
 protected def equiv : PiLp p α ≃ ∀ i : ι, α i :=
   Equiv.refl _
 #align pi_Lp.equiv PiLp.equiv
--/
 
 /-! Note that the unapplied versions of these lemmas are deliberately omitted, as they break
 the use of the type synonym. -/
 
 
-#print PiLp.equiv_apply /-
+#print WithLp.equiv_pi_apply /-
 @[simp]
-theorem equiv_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
+theorem equiv_pi_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
   rfl
-#align pi_Lp.equiv_apply PiLp.equiv_apply
+#align pi_Lp.equiv_apply WithLp.equiv_pi_apply
 -/
 
-#print PiLp.equiv_symm_apply /-
+#print WithLp.equiv_symm_pi_apply /-
 @[simp]
-theorem equiv_symm_apply (x : ∀ i, α i) (i : ι) : (PiLp.equiv p α).symm x i = x i :=
+theorem equiv_symm_pi_apply (x : ∀ i, α i) (i : ι) : (PiLp.equiv p α).symm x i = x i :=
   rfl
-#align pi_Lp.equiv_symm_apply PiLp.equiv_symm_apply
+#align pi_Lp.equiv_symm_apply WithLp.equiv_symm_pi_apply
 -/
 
 section DistNorm
@@ -1047,7 +1045,6 @@ theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [O
 
 variable (𝕜 p)
 
-#print PiLp.linearEquiv /-
 /-- `pi_Lp.equiv` as a linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
@@ -1055,7 +1052,6 @@ protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
     toFun := PiLp.equiv _ _
     invFun := (PiLp.equiv _ _).symm }
 #align pi_Lp.linear_equiv PiLp.linearEquiv
--/
 
 #print PiLp.continuousLinearEquiv /-
 /-- `pi_Lp.equiv` as a continuous linear equivalence. -/
Diff
@@ -701,26 +701,20 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
 #align pi_Lp.normed_space PiLp.normedSpace
 -/
 
-#print PiLp.isScalarTower /-
 instance isScalarTower [∀ i, SeminormedAddCommGroup (β i)] [SMul 𝕜 𝕜'] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, IsScalarTower 𝕜 𝕜' (β i)] : IsScalarTower 𝕜 𝕜' (PiLp p β) :=
   Pi.isScalarTower
 #align pi_Lp.is_scalar_tower PiLp.isScalarTower
--/
 
-#print PiLp.smulCommClass /-
-instance smulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
+instance sMulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, SMulCommClass 𝕜 𝕜' (β i)] : SMulCommClass 𝕜 𝕜' (PiLp p β) :=
   Pi.smulCommClass
-#align pi_Lp.smul_comm_class PiLp.smulCommClass
--/
+#align pi_Lp.smul_comm_class PiLp.sMulCommClass
 
-#print PiLp.finiteDimensional /-
 instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [I : ∀ i, FiniteDimensional 𝕜 (β i)] : FiniteDimensional 𝕜 (PiLp p β) :=
   FiniteDimensional.finiteDimensional_pi' _ _
 #align pi_Lp.finite_dimensional PiLp.finiteDimensional
--/
 
 /- Register simplification lemmas for the applications of `pi_Lp` elements, as the usual lemmas
 for Pi types will not trigger. -/
@@ -838,76 +832,76 @@ theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq 
 #align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_single
 -/
 
-#print PiLp.equiv_zero /-
+#print WithLp.equiv_zero /-
 @[simp]
 theorem equiv_zero : PiLp.equiv p β 0 = 0 :=
   rfl
-#align pi_Lp.equiv_zero PiLp.equiv_zero
+#align pi_Lp.equiv_zero WithLp.equiv_zero
 -/
 
-#print PiLp.equiv_symm_zero /-
+#print WithLp.equiv_symm_zero /-
 @[simp]
 theorem equiv_symm_zero : (PiLp.equiv p β).symm 0 = 0 :=
   rfl
-#align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zero
+#align pi_Lp.equiv_symm_zero WithLp.equiv_symm_zero
 -/
 
-#print PiLp.equiv_add /-
+#print WithLp.equiv_add /-
 @[simp]
 theorem equiv_add : PiLp.equiv p β (x + y) = PiLp.equiv p β x + PiLp.equiv p β y :=
   rfl
-#align pi_Lp.equiv_add PiLp.equiv_add
+#align pi_Lp.equiv_add WithLp.equiv_add
 -/
 
-#print PiLp.equiv_symm_add /-
+#print WithLp.equiv_symm_add /-
 @[simp]
 theorem equiv_symm_add :
     (PiLp.equiv p β).symm (x' + y') = (PiLp.equiv p β).symm x' + (PiLp.equiv p β).symm y' :=
   rfl
-#align pi_Lp.equiv_symm_add PiLp.equiv_symm_add
+#align pi_Lp.equiv_symm_add WithLp.equiv_symm_add
 -/
 
-#print PiLp.equiv_sub /-
+#print WithLp.equiv_sub /-
 @[simp]
 theorem equiv_sub : PiLp.equiv p β (x - y) = PiLp.equiv p β x - PiLp.equiv p β y :=
   rfl
-#align pi_Lp.equiv_sub PiLp.equiv_sub
+#align pi_Lp.equiv_sub WithLp.equiv_sub
 -/
 
-#print PiLp.equiv_symm_sub /-
+#print WithLp.equiv_symm_sub /-
 @[simp]
 theorem equiv_symm_sub :
     (PiLp.equiv p β).symm (x' - y') = (PiLp.equiv p β).symm x' - (PiLp.equiv p β).symm y' :=
   rfl
-#align pi_Lp.equiv_symm_sub PiLp.equiv_symm_sub
+#align pi_Lp.equiv_symm_sub WithLp.equiv_symm_sub
 -/
 
-#print PiLp.equiv_neg /-
+#print WithLp.equiv_neg /-
 @[simp]
 theorem equiv_neg : PiLp.equiv p β (-x) = -PiLp.equiv p β x :=
   rfl
-#align pi_Lp.equiv_neg PiLp.equiv_neg
+#align pi_Lp.equiv_neg WithLp.equiv_neg
 -/
 
-#print PiLp.equiv_symm_neg /-
+#print WithLp.equiv_symm_neg /-
 @[simp]
 theorem equiv_symm_neg : (PiLp.equiv p β).symm (-x') = -(PiLp.equiv p β).symm x' :=
   rfl
-#align pi_Lp.equiv_symm_neg PiLp.equiv_symm_neg
+#align pi_Lp.equiv_symm_neg WithLp.equiv_symm_neg
 -/
 
-#print PiLp.equiv_smul /-
+#print WithLp.equiv_smul /-
 @[simp]
 theorem equiv_smul : PiLp.equiv p β (c • x) = c • PiLp.equiv p β x :=
   rfl
-#align pi_Lp.equiv_smul PiLp.equiv_smul
+#align pi_Lp.equiv_smul WithLp.equiv_smul
 -/
 
-#print PiLp.equiv_symm_smul /-
+#print WithLp.equiv_symm_smul /-
 @[simp]
 theorem equiv_symm_smul : (PiLp.equiv p β).symm (c • x') = c • (PiLp.equiv p β).symm x' :=
   rfl
-#align pi_Lp.equiv_symm_smul PiLp.equiv_symm_smul
+#align pi_Lp.equiv_symm_smul WithLp.equiv_symm_smul
 -/
 
 section Single
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
-
-! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 9d013ad8430ddddd350cff5c3db830278ded3c79
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.MeanInequalities
 import Mathbin.Data.Fintype.Order
 import Mathbin.LinearAlgebra.Matrix.Basis
 
+#align_import analysis.normed_space.pi_Lp from "leanprover-community/mathlib"@"9d013ad8430ddddd350cff5c3db830278ded3c79"
+
 /-!
 # `L^p` distance on finite products of metric spaces
 
Diff
@@ -105,10 +105,12 @@ protected def equiv : PiLp p α ≃ ∀ i : ι, α i :=
 the use of the type synonym. -/
 
 
+#print PiLp.equiv_apply /-
 @[simp]
 theorem equiv_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
   rfl
 #align pi_Lp.equiv_apply PiLp.equiv_apply
+-/
 
 #print PiLp.equiv_symm_apply /-
 @[simp]
@@ -149,19 +151,25 @@ instance : EDist (PiLp p β)
 
 variable {β}
 
+#print PiLp.edist_eq_card /-
 theorem edist_eq_card (f g : PiLp 0 β) : edist f g = {i | f i ≠ g i}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.edist_eq_card PiLp.edist_eq_card
+-/
 
+#print PiLp.edist_eq_sum /-
 theorem edist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p β) :
     edist f g = (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.edist_eq_sum PiLp.edist_eq_sum
+-/
 
+#print PiLp.edist_eq_iSup /-
 theorem edist_eq_iSup (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) := by dsimp [edist];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.edist_eq_supr PiLp.edist_eq_iSup
+-/
 
 end Edist
 
@@ -169,6 +177,7 @@ section EdistProp
 
 variable {β} [∀ i, PseudoEMetricSpace (β i)]
 
+#print PiLp.edist_self /-
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
@@ -178,7 +187,9 @@ protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
   · simp [edist_eq_supr]
   · simp [edist_eq_sum h, ENNReal.zero_rpow_of_pos h, ENNReal.zero_rpow_of_pos (inv_pos.2 <| h)]
 #align pi_Lp.edist_self PiLp.edist_self
+-/
 
+#print PiLp.edist_comm /-
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_comm (f g : PiLp p β) : edist f g = edist g f :=
@@ -188,6 +199,7 @@ protected theorem edist_comm (f g : PiLp p β) : edist f g = edist g f :=
   · simp only [edist_eq_supr, edist_comm]
   · simp only [edist_eq_sum h, edist_comm]
 #align pi_Lp.edist_comm PiLp.edist_comm
+-/
 
 end EdistProp
 
@@ -210,19 +222,25 @@ instance : Dist (PiLp p α)
 
 variable {α}
 
+#print PiLp.dist_eq_card /-
 theorem dist_eq_card (f g : PiLp 0 α) : dist f g = {i | f i ≠ g i}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.dist_eq_card PiLp.dist_eq_card
+-/
 
+#print PiLp.dist_eq_sum /-
 theorem dist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p α) :
     dist f g = (∑ i, dist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.dist_eq_sum PiLp.dist_eq_sum
+-/
 
+#print PiLp.dist_eq_iSup /-
 theorem dist_eq_iSup (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) := by dsimp [dist];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSup
+-/
 
 end Dist
 
@@ -246,19 +264,25 @@ instance hasNorm : Norm (PiLp p β)
 
 variable {p β}
 
+#print PiLp.norm_eq_card /-
 theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = {i | f i ≠ 0}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.norm_eq_card PiLp.norm_eq_card
+-/
 
+#print PiLp.norm_eq_ciSup /-
 theorem norm_eq_ciSup (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ := by dsimp [norm];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSup
+-/
 
+#print PiLp.norm_eq_sum /-
 theorem norm_eq_sum (hp : 0 < p.toReal) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.norm_eq_sum PiLp.norm_eq_sum
+-/
 
 end Norm
 
@@ -285,6 +309,7 @@ variable [Fact (1 ≤ p)] [∀ i, PseudoMetricSpace (α i)] [∀ i, PseudoEMetri
 
 variable [Fintype ι]
 
+#print PiLp.pseudoEmetricAux /-
 /-- Endowing the space `pi_Lp p β` with the `L^p` pseudoemetric structure. This definition is not
 satisfactory, as it does not register the fact that the topology and the uniform structure coincide
 with the product one. Therefore, we do not register it as an instance. Using this as a temporary
@@ -315,9 +340,11 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β)
               (∑ i, edist (g i) (h i) ^ p.to_real) ^ (1 / p.to_real) :=
           ENNReal.Lp_add_le _ _ _ hp
 #align pi_Lp.pseudo_emetric_aux PiLp.pseudoEmetricAux
+-/
 
 attribute [local instance] PiLp.pseudoEmetricAux
 
+#print PiLp.iSup_edist_ne_top_aux /-
 /-- An auxiliary lemma used twice in the proof of `pi_Lp.pseudo_metric_aux` below. Not intended for
 use outside this file. -/
 theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
@@ -329,7 +356,9 @@ theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
   simp only [edist, PseudoMetricSpace.edist_dist, ENNReal.ofReal_eq_coe_nnreal dist_nonneg]
   exact_mod_cast hM i
 #align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_aux
+-/
 
+#print PiLp.pseudoMetricAux /-
 /-- Endowing the space `pi_Lp p α` with the `L^p` pseudometric structure. This definition is not
 satisfactory, as it does not register the fact that the topology, the uniform structure, and the
 bornology coincide with the product ones. Therefore, we do not register it as an instance. Using
@@ -370,9 +399,11 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
       simp only [edist_eq_sum (zero_lt_one.trans_le h), dist_edist, ENNReal.toReal_rpow,
         dist_eq_sum (zero_lt_one.trans_le h), ← ENNReal.toReal_sum fun i _ => A i]
 #align pi_Lp.pseudo_metric_aux PiLp.pseudoMetricAux
+-/
 
 attribute [local instance] PiLp.pseudoMetricAux
 
+#print PiLp.lipschitzWith_equiv_aux /-
 theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
   by
   intro x y
@@ -393,7 +424,9 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
         apply ENNReal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans h)
         exact Finset.single_le_sum (fun i hi => (bot_le : (0 : ℝ≥0∞) ≤ _)) (Finset.mem_univ i)
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
+-/
 
+#print PiLp.antilipschitzWith_equiv_aux /-
 theorem antilipschitzWith_equiv_aux :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   by
@@ -425,7 +458,9 @@ theorem antilipschitzWith_equiv_aux :
           (ENNReal.coe_nat (Fintype.card ι)).symm
         rw [this, ENNReal.coe_rpow_of_nonneg _ nonneg]
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
+-/
 
+#print PiLp.aux_uniformity_eq /-
 theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
   by
   have A : UniformInducing (PiLp.equiv p β) :=
@@ -435,7 +470,9 @@ theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
     by ext i <;> rfl
   rw [← A.comap_uniformity, this, comap_id]
 #align pi_Lp.aux_uniformity_eq PiLp.aux_uniformity_eq
+-/
 
+#print PiLp.aux_cobounded_eq /-
 theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.instBornology :=
   calc
     cobounded (PiLp p α) = comap (PiLp.equiv p α) (cobounded _) :=
@@ -443,6 +480,7 @@ theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.instBornology
         (lipschitzWith_equiv_aux p α).comap_cobounded_le
     _ = _ := comap_id
 #align pi_Lp.aux_cobounded_eq PiLp.aux_cobounded_eq
+-/
 
 end Aux
 
@@ -514,25 +552,33 @@ and having as uniformity the product uniformity. -/
 instance [∀ i, MetricSpace (α i)] : MetricSpace (PiLp p α) :=
   MetricSpace.ofT0PseudoMetricSpace _
 
+#print PiLp.nndist_eq_sum /-
 theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
     nndist x y = (∑ i : ι, nndist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) :=
   Subtype.ext <| by push_cast ; exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
+-/
 
+#print PiLp.nndist_eq_iSup /-
 theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
   Subtype.ext <| by push_cast ; exact dist_eq_csupr _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
+-/
 
+#print PiLp.lipschitzWith_equiv /-
 theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
   lipschitzWith_equiv_aux p β
 #align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equiv
+-/
 
+#print PiLp.antilipschitzWith_equiv /-
 theorem antilipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   antilipschitzWith_equiv_aux p β
 #align pi_Lp.antilipschitz_with_equiv PiLp.antilipschitzWith_equiv
+-/
 
 #print PiLp.infty_equiv_isometry /-
 theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp.equiv ∞ β) :=
@@ -546,6 +592,7 @@ theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp
 
 variable (p β)
 
+#print PiLp.seminormedAddCommGroup /-
 /-- seminormed group instance on the product of finitely many normed groups, using the `L^p`
 norm. -/
 instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
@@ -558,22 +605,30 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
         simpa only [dist_eq_sum (zero_lt_one.trans_le h), norm_eq_sum (zero_lt_one.trans_le h),
           dist_eq_norm] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
+-/
 
+#print PiLp.normedAddCommGroup /-
 /-- normed group instance on the product of finitely many normed groups, using the `L^p` norm. -/
 instance normedAddCommGroup [∀ i, NormedAddCommGroup (α i)] : NormedAddCommGroup (PiLp p α) :=
   { PiLp.seminormedAddCommGroup p α with }
 #align pi_Lp.normed_add_comm_group PiLp.normedAddCommGroup
+-/
 
+#print PiLp.nnnorm_eq_sum /-
 theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp : p ≠ ∞)
     [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp p β) :
     ‖f‖₊ = (∑ i, ‖f i‖₊ ^ p.toReal) ^ (1 / p.toReal) := by ext;
   simp [NNReal.coe_sum, norm_eq_sum (p.to_real_pos_iff_ne_top.mpr hp)]
 #align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sum
+-/
 
+#print PiLp.nnnorm_eq_ciSup /-
 theorem nnnorm_eq_ciSup {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
     ‖f‖₊ = ⨆ i, ‖f i‖₊ := by ext; simp [NNReal.coe_iSup, norm_eq_csupr]
 #align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSup
+-/
 
+#print PiLp.norm_eq_of_nat /-
 theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) :=
@@ -582,17 +637,23 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
   simp only [one_div, h, Real.rpow_nat_cast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
+-/
 
+#print PiLp.norm_eq_of_L2 /-
 theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) := by convert norm_eq_of_nat 2 (by norm_cast) _;
   rw [sqrt_eq_rpow]; norm_cast
 #align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2
+-/
 
+#print PiLp.nnnorm_eq_of_L2 /-
 theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖₊ = NNReal.sqrt (∑ i : ι, ‖x i‖₊ ^ 2) :=
   Subtype.ext <| by push_cast ; exact norm_eq_of_L2 x
 #align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2
+-/
 
+#print PiLp.norm_sq_eq_of_L2 /-
 theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ ^ 2 = ∑ i : ι, ‖x i‖ ^ 2 :=
   by
@@ -600,23 +661,31 @@ theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β
     simpa only [NNReal.coe_sum] using congr_arg (coe : ℝ≥0 → ℝ) this
   rw [nnnorm_eq_of_L2, NNReal.sq_sqrt]
 #align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2
+-/
 
+#print PiLp.dist_eq_of_L2 /-
 theorem dist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
   simp_rw [dist_eq_norm, norm_eq_of_L2, Pi.sub_apply]
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
+-/
 
+#print PiLp.nndist_eq_of_L2 /-
 theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     nndist x y = (∑ i, nndist (x i) (y i) ^ 2).sqrt :=
   Subtype.ext <| by push_cast ; exact dist_eq_of_L2 _ _
 #align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2
+-/
 
+#print PiLp.edist_eq_of_L2 /-
 theorem edist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
+-/
 
 variable [NormedField 𝕜] [NormedField 𝕜']
 
+#print PiLp.normedSpace /-
 /-- The product of finitely many normed spaces is a normed space, with the `L^p` norm. -/
 instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
     NormedSpace 𝕜 (PiLp p β) :=
@@ -633,21 +702,28 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
           rpow_one]
         exact Finset.sum_nonneg fun i hi => rpow_nonneg_of_nonneg (norm_nonneg _) _ }
 #align pi_Lp.normed_space PiLp.normedSpace
+-/
 
+#print PiLp.isScalarTower /-
 instance isScalarTower [∀ i, SeminormedAddCommGroup (β i)] [SMul 𝕜 𝕜'] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, IsScalarTower 𝕜 𝕜' (β i)] : IsScalarTower 𝕜 𝕜' (PiLp p β) :=
   Pi.isScalarTower
 #align pi_Lp.is_scalar_tower PiLp.isScalarTower
+-/
 
+#print PiLp.smulCommClass /-
 instance smulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, SMulCommClass 𝕜 𝕜' (β i)] : SMulCommClass 𝕜 𝕜' (PiLp p β) :=
   Pi.smulCommClass
 #align pi_Lp.smul_comm_class PiLp.smulCommClass
+-/
 
+#print PiLp.finiteDimensional /-
 instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [I : ∀ i, FiniteDimensional 𝕜 (β i)] : FiniteDimensional 𝕜 (PiLp p β) :=
   FiniteDimensional.finiteDimensional_pi' _ _
 #align pi_Lp.finite_dimensional PiLp.finiteDimensional
+-/
 
 /- Register simplification lemmas for the applications of `pi_Lp` elements, as the usual lemmas
 for Pi types will not trigger. -/
@@ -655,31 +731,42 @@ variable {𝕜 𝕜' p α} [∀ i, SeminormedAddCommGroup (β i)] [∀ i, Normed
 
 variable (x y : PiLp p β) (x' y' : ∀ i, β i) (i : ι)
 
+#print PiLp.zero_apply /-
 @[simp]
 theorem zero_apply : (0 : PiLp p β) i = 0 :=
   rfl
 #align pi_Lp.zero_apply PiLp.zero_apply
+-/
 
+#print PiLp.add_apply /-
 @[simp]
 theorem add_apply : (x + y) i = x i + y i :=
   rfl
 #align pi_Lp.add_apply PiLp.add_apply
+-/
 
+#print PiLp.sub_apply /-
 @[simp]
 theorem sub_apply : (x - y) i = x i - y i :=
   rfl
 #align pi_Lp.sub_apply PiLp.sub_apply
+-/
 
+#print PiLp.smul_apply /-
 @[simp]
 theorem smul_apply : (c • x) i = c • x i :=
   rfl
 #align pi_Lp.smul_apply PiLp.smul_apply
+-/
 
+#print PiLp.neg_apply /-
 @[simp]
 theorem neg_apply : (-x) i = -x i :=
   rfl
 #align pi_Lp.neg_apply PiLp.neg_apply
+-/
 
+#print PiLp.equivₗᵢ /-
 /-- The canonical map `pi_Lp.equiv` between `pi_Lp ∞ β` and `Π i, β i` as a linear isometric
 equivalence. -/
 def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
@@ -696,6 +783,7 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
       · simp only [ciSup_of_empty, Finset.univ_eq_empty, Finset.sup_empty]
       · exact ciSup_le fun i => Finset.le_sup (Finset.mem_univ i) }
 #align pi_Lp.equivₗᵢ PiLp.equivₗᵢ
+-/
 
 variable {ι' : Type _}
 
@@ -703,6 +791,7 @@ variable [Fintype ι']
 
 variable (p 𝕜) (E : Type _) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
 
+#print LinearIsometryEquiv.piLpCongrLeft /-
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
 def LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
@@ -718,22 +807,28 @@ def LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
       congr
       exact Fintype.sum_equiv e.symm _ _ fun i => rfl
 #align linear_isometry_equiv.pi_Lp_congr_left LinearIsometryEquiv.piLpCongrLeft
+-/
 
 variable {p 𝕜 E}
 
+#print LinearIsometryEquiv.piLpCongrLeft_apply /-
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_apply (e : ι ≃ ι') (v : PiLp p fun i : ι => E) :
     LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e v = Equiv.piCongrLeft' (fun i : ι => E) e v :=
   rfl
 #align linear_isometry_equiv.pi_Lp_congr_left_apply LinearIsometryEquiv.piLpCongrLeft_apply
+-/
 
+#print LinearIsometryEquiv.piLpCongrLeft_symm /-
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
     (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e).symm =
       LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e.symm :=
   LinearIsometryEquiv.ext fun x => rfl
 #align linear_isometry_equiv.pi_Lp_congr_left_symm LinearIsometryEquiv.piLpCongrLeft_symm
+-/
 
+#print LinearIsometryEquiv.piLpCongrLeft_single /-
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq ι'] (e : ι ≃ ι')
     (i : ι) (v : E) :
@@ -744,58 +839,79 @@ theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq 
   simp [LinearIsometryEquiv.piLpCongrLeft, LinearEquiv.piCongrLeft', Equiv.piCongrLeft', Pi.single,
     Function.update, Equiv.symm_apply_eq]
 #align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_single
+-/
 
+#print PiLp.equiv_zero /-
 @[simp]
 theorem equiv_zero : PiLp.equiv p β 0 = 0 :=
   rfl
 #align pi_Lp.equiv_zero PiLp.equiv_zero
+-/
 
+#print PiLp.equiv_symm_zero /-
 @[simp]
 theorem equiv_symm_zero : (PiLp.equiv p β).symm 0 = 0 :=
   rfl
 #align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zero
+-/
 
+#print PiLp.equiv_add /-
 @[simp]
 theorem equiv_add : PiLp.equiv p β (x + y) = PiLp.equiv p β x + PiLp.equiv p β y :=
   rfl
 #align pi_Lp.equiv_add PiLp.equiv_add
+-/
 
+#print PiLp.equiv_symm_add /-
 @[simp]
 theorem equiv_symm_add :
     (PiLp.equiv p β).symm (x' + y') = (PiLp.equiv p β).symm x' + (PiLp.equiv p β).symm y' :=
   rfl
 #align pi_Lp.equiv_symm_add PiLp.equiv_symm_add
+-/
 
+#print PiLp.equiv_sub /-
 @[simp]
 theorem equiv_sub : PiLp.equiv p β (x - y) = PiLp.equiv p β x - PiLp.equiv p β y :=
   rfl
 #align pi_Lp.equiv_sub PiLp.equiv_sub
+-/
 
+#print PiLp.equiv_symm_sub /-
 @[simp]
 theorem equiv_symm_sub :
     (PiLp.equiv p β).symm (x' - y') = (PiLp.equiv p β).symm x' - (PiLp.equiv p β).symm y' :=
   rfl
 #align pi_Lp.equiv_symm_sub PiLp.equiv_symm_sub
+-/
 
+#print PiLp.equiv_neg /-
 @[simp]
 theorem equiv_neg : PiLp.equiv p β (-x) = -PiLp.equiv p β x :=
   rfl
 #align pi_Lp.equiv_neg PiLp.equiv_neg
+-/
 
+#print PiLp.equiv_symm_neg /-
 @[simp]
 theorem equiv_symm_neg : (PiLp.equiv p β).symm (-x') = -(PiLp.equiv p β).symm x' :=
   rfl
 #align pi_Lp.equiv_symm_neg PiLp.equiv_symm_neg
+-/
 
+#print PiLp.equiv_smul /-
 @[simp]
 theorem equiv_smul : PiLp.equiv p β (c • x) = c • PiLp.equiv p β x :=
   rfl
 #align pi_Lp.equiv_smul PiLp.equiv_smul
+-/
 
+#print PiLp.equiv_symm_smul /-
 @[simp]
 theorem equiv_symm_smul : (PiLp.equiv p β).symm (c • x') = c • (PiLp.equiv p β).symm x' :=
   rfl
 #align pi_Lp.equiv_symm_smul PiLp.equiv_symm_smul
+-/
 
 section Single
 
@@ -803,6 +919,7 @@ variable (p)
 
 variable [DecidableEq ι]
 
+#print PiLp.nnnorm_equiv_symm_single /-
 @[simp]
 theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
     ‖(PiLp.equiv p β).symm (Pi.single i b)‖₊ = ‖b‖₊ :=
@@ -824,12 +941,16 @@ theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
     intro j hij
     rw [equiv_symm_apply, Pi.single_eq_of_ne hij, nnnorm_zero, NNReal.zero_rpow hp0]
 #align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_single
+-/
 
+#print PiLp.norm_equiv_symm_single /-
 @[simp]
 theorem norm_equiv_symm_single (i : ι) (b : β i) : ‖(PiLp.equiv p β).symm (Pi.single i b)‖ = ‖b‖ :=
   congr_arg coe <| nnnorm_equiv_symm_single p β i b
 #align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_single
+-/
 
+#print PiLp.nndist_equiv_symm_single_same /-
 @[simp]
 theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     nndist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -838,23 +959,29 @@ theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
   rw [nndist_eq_nnnorm, nndist_eq_nnnorm, ← equiv_symm_sub, ← Pi.single_sub,
     nnnorm_equiv_symm_single]
 #align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_same
+-/
 
+#print PiLp.dist_equiv_symm_single_same /-
 @[simp]
 theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     dist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
       dist b₁ b₂ :=
   congr_arg coe <| nndist_equiv_symm_single_same p β i b₁ b₂
 #align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_same
+-/
 
+#print PiLp.edist_equiv_symm_single_same /-
 @[simp]
 theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     edist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
       edist b₁ b₂ :=
   by simpa only [edist_nndist] using congr_arg coe (nndist_equiv_symm_single_same p β i b₁ b₂)
 #align pi_Lp.edist_equiv_symm_single_same PiLp.edist_equiv_symm_single_same
+-/
 
 end Single
 
+#print PiLp.nnnorm_equiv_symm_const /-
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
@@ -870,7 +997,9 @@ theorem nnnorm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞
       Finset.card_univ, nsmul_eq_mul, NNReal.mul_rpow, ← NNReal.rpow_mul, mul_one_div_cancel NeZero,
       NNReal.rpow_one, ENNReal.toReal_div, ENNReal.one_toReal]
 #align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_const
+-/
 
+#print PiLp.nnnorm_equiv_symm_const' /-
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const` for a version which exchanges the hypothesis `nonempty ι`.
@@ -885,7 +1014,9 @@ theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι]
       nnnorm_eq_csupr, Function.const_apply, ciSup_const]
   · exact nnnorm_equiv_symm_const hp b
 #align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'
+-/
 
+#print PiLp.norm_equiv_symm_const /-
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.norm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
@@ -895,7 +1026,9 @@ theorem norm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞)
       Fintype.card ι ^ (1 / p).toReal * ‖b‖ :=
   (congr_arg coe <| nnnorm_equiv_symm_const hp b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const PiLp.norm_equiv_symm_const
+-/
 
+#print PiLp.norm_equiv_symm_const' /-
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.norm_equiv_symm_const` for a version which exchanges the hypothesis `nonempty ι`.
@@ -905,19 +1038,25 @@ theorem norm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι] (b
       Fintype.card ι ^ (1 / p).toReal * ‖b‖ :=
   (congr_arg coe <| nnnorm_equiv_symm_const' b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const' PiLp.norm_equiv_symm_const'
+-/
 
+#print PiLp.nnnorm_equiv_symm_one /-
 theorem nnnorm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
     ‖(PiLp.equiv p fun _ : ι => β).symm 1‖₊ = Fintype.card ι ^ (1 / p).toReal * ‖(1 : β)‖₊ :=
   (nnnorm_equiv_symm_const hp (1 : β)).trans rfl
 #align pi_Lp.nnnorm_equiv_symm_one PiLp.nnnorm_equiv_symm_one
+-/
 
+#print PiLp.norm_equiv_symm_one /-
 theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
     ‖(PiLp.equiv p fun _ : ι => β).symm 1‖ = Fintype.card ι ^ (1 / p).toReal * ‖(1 : β)‖ :=
   (norm_equiv_symm_const hp (1 : β)).trans rfl
 #align pi_Lp.norm_equiv_symm_one PiLp.norm_equiv_symm_one
+-/
 
 variable (𝕜 p)
 
+#print PiLp.linearEquiv /-
 /-- `pi_Lp.equiv` as a linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
@@ -925,7 +1064,9 @@ protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
     toFun := PiLp.equiv _ _
     invFun := (PiLp.equiv _ _).symm }
 #align pi_Lp.linear_equiv PiLp.linearEquiv
+-/
 
+#print PiLp.continuousLinearEquiv /-
 /-- `pi_Lp.equiv` as a continuous linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i
@@ -934,45 +1075,59 @@ protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i
   continuous_toFun := continuous_equiv _ _
   continuous_invFun := continuous_equiv_symm _ _
 #align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquiv
+-/
 
 section Basis
 
 variable (ι)
 
+#print PiLp.basisFun /-
 /-- A version of `pi.basis_fun` for `pi_Lp`. -/
 def basisFun : Basis ι 𝕜 (PiLp p fun _ => 𝕜) :=
   Basis.ofEquivFun (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜)
 #align pi_Lp.basis_fun PiLp.basisFun
+-/
 
+#print PiLp.basisFun_apply /-
 @[simp]
 theorem basisFun_apply [DecidableEq ι] (i) :
     basisFun p 𝕜 ι i = (PiLp.equiv p _).symm (Pi.single i 1) := by
   simp_rw [basis_fun, Basis.coe_ofEquivFun, PiLp.linearEquiv_symm_apply, Pi.single]
 #align pi_Lp.basis_fun_apply PiLp.basisFun_apply
+-/
 
+#print PiLp.basisFun_repr /-
 @[simp]
 theorem basisFun_repr (x : PiLp p fun i : ι => 𝕜) (i : ι) : (basisFun p 𝕜 ι).repr x i = x i :=
   rfl
 #align pi_Lp.basis_fun_repr PiLp.basisFun_repr
+-/
 
+#print PiLp.basisFun_equivFun /-
 @[simp]
 theorem basisFun_equivFun : (basisFun p 𝕜 ι).equivFun = PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜 :=
   Basis.equivFun_ofEquivFun _
 #align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFun
+-/
 
+#print PiLp.basisFun_eq_pi_basisFun /-
 theorem basisFun_eq_pi_basisFun :
     basisFun p 𝕜 ι = (Pi.basisFun 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜).symm :=
   rfl
 #align pi_Lp.basis_fun_eq_pi_basis_fun PiLp.basisFun_eq_pi_basisFun
+-/
 
+#print PiLp.basisFun_map /-
 @[simp]
 theorem basisFun_map :
     (basisFun p 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜) = Pi.basisFun 𝕜 ι :=
   rfl
 #align pi_Lp.basis_fun_map PiLp.basisFun_map
+-/
 
 open scoped Matrix
 
+#print PiLp.basis_toMatrix_basisFun_mul /-
 theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 𝕜)) (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) ⬝ A =
       Matrix.of fun i j => b.repr ((PiLp.equiv _ _).symm (Aᵀ j)) i :=
@@ -983,6 +1138,7 @@ theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 
     LinearEquiv.symm_apply_apply] at this 
   exact this
 #align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mul
+-/
 
 end Basis
 
Diff
@@ -314,7 +314,6 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β)
             (∑ i, edist (f i) (g i) ^ p.to_real) ^ (1 / p.to_real) +
               (∑ i, edist (g i) (h i) ^ p.to_real) ^ (1 / p.to_real) :=
           ENNReal.Lp_add_le _ _ _ hp
-        
 #align pi_Lp.pseudo_emetric_aux PiLp.pseudoEmetricAux
 
 attribute [local instance] PiLp.pseudoEmetricAux
@@ -393,7 +392,6 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
         by
         apply ENNReal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans h)
         exact Finset.single_le_sum (fun i hi => (bot_le : (0 : ℝ≥0∞) ≤ _)) (Finset.mem_univ i)
-      
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
 
 theorem antilipschitzWith_equiv_aux :
@@ -426,7 +424,6 @@ theorem antilipschitzWith_equiv_aux :
         have : (Fintype.card ι : ℝ≥0∞) = (Fintype.card ι : ℝ≥0) :=
           (ENNReal.coe_nat (Fintype.card ι)).symm
         rw [this, ENNReal.coe_rpow_of_nonneg _ nonneg]
-      
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 
 theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
@@ -445,7 +442,6 @@ theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.instBornology
       le_antisymm (antilipschitzWith_equiv_aux p α).tendsto_cobounded.le_comap
         (lipschitzWith_equiv_aux p α).comap_cobounded_le
     _ = _ := comap_id
-    
 #align pi_Lp.aux_cobounded_eq PiLp.aux_cobounded_eq
 
 end Aux
Diff
@@ -143,13 +143,13 @@ satisfying a relaxed triangle inequality. The terminology for this varies throug
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
 instance : EDist (PiLp p β)
     where edist f g :=
-    if hp : p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
+    if hp : p = 0 then {i | f i ≠ g i}.toFinite.toFinset.card
     else
       if p = ∞ then ⨆ i, edist (f i) (g i) else (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal)
 
 variable {β}
 
-theorem edist_eq_card (f g : PiLp 0 β) : edist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
+theorem edist_eq_card (f g : PiLp 0 β) : edist f g = {i | f i ≠ g i}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.edist_eq_card PiLp.edist_eq_card
 
@@ -204,13 +204,13 @@ satisfying a relaxed triangle inequality. The terminology for this varies throug
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
 instance : Dist (PiLp p α)
     where dist f g :=
-    if hp : p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
+    if hp : p = 0 then {i | f i ≠ g i}.toFinite.toFinset.card
     else
       if p = ∞ then ⨆ i, dist (f i) (g i) else (∑ i, dist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal)
 
 variable {α}
 
-theorem dist_eq_card (f g : PiLp 0 α) : dist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
+theorem dist_eq_card (f g : PiLp 0 α) : dist f g = {i | f i ≠ g i}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.dist_eq_card PiLp.dist_eq_card
 
@@ -239,14 +239,14 @@ Registering this separately allows for a future norm-like structure on `pi_Lp p
 satisfying a relaxed triangle inequality. These are called *quasi-norms*. -/
 instance hasNorm : Norm (PiLp p β)
     where norm f :=
-    if hp : p = 0 then { i | f i ≠ 0 }.toFinite.toFinset.card
+    if hp : p = 0 then {i | f i ≠ 0}.toFinite.toFinset.card
     else if p = ∞ then ⨆ i, ‖f i‖ else (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal)
 #align pi_Lp.has_norm PiLp.hasNorm
 -/
 
 variable {p β}
 
-theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = { i | f i ≠ 0 }.toFinite.toFinset.card :=
+theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = {i | f i ≠ 0}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.norm_eq_card PiLp.norm_eq_card
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
+! leanprover-community/mathlib commit 9d013ad8430ddddd350cff5c3db830278ded3c79
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,6 +17,7 @@ import Mathbin.LinearAlgebra.Matrix.Basis
 
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
 > Any changes to this file require a corresponding PR to mathlib4.
+
 Given finitely many metric spaces, one can put the max distance on their product, but there is also
 a whole family of natural distances, indexed by a parameter `p : ℝ≥0∞`, that also induce
 the product topology. We define them in this file. For `0 < p < ∞`, the distance on `Π i, α i`
Diff
@@ -557,7 +557,7 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
     dist_eq := fun x y => by
       rcases p.dichotomy with (rfl | h)
       · simpa only [dist_eq_csupr, norm_eq_csupr, dist_eq_norm]
-      · have : p ≠ ∞ := by intro hp; rw [hp, ENNReal.top_toReal] at h; linarith
+      · have : p ≠ ∞ := by intro hp; rw [hp, ENNReal.top_toReal] at h ; linarith
         simpa only [dist_eq_sum (zero_lt_one.trans_le h), norm_eq_sum (zero_lt_one.trans_le h),
           dist_eq_norm] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
@@ -983,7 +983,7 @@ theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 
   have := basis_toMatrix_basisFun_mul (b.map (PiLp.linearEquiv _ 𝕜 _)) A
   simp_rw [← PiLp.basisFun_map p, Basis.map_repr, LinearEquiv.trans_apply,
     PiLp.linearEquiv_symm_apply, Basis.toMatrix_map, Function.comp, Basis.map_apply,
-    LinearEquiv.symm_apply_apply] at this
+    LinearEquiv.symm_apply_apply] at this 
   exact this
 #align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mul
 
Diff
@@ -70,7 +70,7 @@ We also set up the theory for `pseudo_emetric_space` and `pseudo_metric_space`.
 
 open Real Set Filter IsROrC Bornology
 
-open BigOperators uniformity Topology NNReal ENNReal
+open scoped BigOperators uniformity Topology NNReal ENNReal
 
 noncomputable section
 
@@ -974,7 +974,7 @@ theorem basisFun_map :
   rfl
 #align pi_Lp.basis_fun_map PiLp.basisFun_map
 
-open Matrix
+open scoped Matrix
 
 theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 𝕜)) (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) ⬝ A =
Diff
@@ -104,12 +104,6 @@ protected def equiv : PiLp p α ≃ ∀ i : ι, α i :=
 the use of the type synonym. -/
 
 
-/- warning: pi_Lp.equiv_apply -> PiLp.equiv_apply is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) (x : PiLp.{u1, u2} p ι α) (i : ι), Eq.{succ u2} (α i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι α) (forall (i : ι), α i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι α) (forall (i : ι), α i)) => (PiLp.{u1, u2} p ι α) -> (forall (i : ι), α i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι α) (forall (i : ι), α i)) (PiLp.equiv.{u1, u2} p ι α) x i) (x i)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (α : ι -> Type.{u1}) (x : PiLp.{u2, u1} p ι α) (i : ι), Eq.{succ u1} (α i) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι α) (forall (i : ι), α i)) (PiLp.{u2, u1} p ι α) (fun (_x : PiLp.{u2, u1} p ι α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι α) => forall (i : ι), α i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι α) (forall (i : ι), α i)) (PiLp.equiv.{u2, u1} p ι α) x i) (x i)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_apply PiLp.equiv_applyₓ'. -/
 @[simp]
 theorem equiv_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
   rfl
@@ -154,34 +148,16 @@ instance : EDist (PiLp p β)
 
 variable {β}
 
-/- warning: pi_Lp.edist_eq_card -> PiLp.edist_eq_card is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), EDist.{u2} (β i)] (f : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β) (g : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β) (PiLp.hasEdist.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat ENNReal (HasLiftT.mk.{1, 1} Nat ENNReal (CoeTCₓ.coe.{1, 1} Nat ENNReal (Nat.castCoe.{0} ENNReal (AddMonoidWithOne.toNatCast.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) (Finset.card.{u1} ι (Set.Finite.toFinset.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (g i))) (Set.toFinite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (g i))) (Subtype.finite.{succ u1} ι (Finite.of_fintype.{u1} ι _inst_1) (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (g i)))))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] (f : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β) (g : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β) (PiLp.instEDistPiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (Nat.cast.{0} ENNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (Finset.card.{u2} ι (Set.Finite.toFinset.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (g i))) (Set.toFinite.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (g i))) (Subtype.finite.{succ u2} ι (Finite.of_fintype.{u2} ι _inst_1) (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (g i)))))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_card PiLp.edist_eq_cardₓ'. -/
 theorem edist_eq_card (f g : PiLp 0 β) : edist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.edist_eq_card PiLp.edist_eq_card
 
-/- warning: pi_Lp.edist_eq_sum -> PiLp.edist_eq_sum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), EDist.{u2} (β i)] {p : ENNReal}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (ENNReal.toReal p)) -> (forall (f : PiLp.{u1, u2} p ι β) (g : PiLp.{u1, u2} p ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.Real.hasPow) (Finset.sum.{0, u1} ENNReal ι (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.Real.hasPow) (EDist.edist.{u2} (β i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
-but is expected to have type
-  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] {p : ENNReal}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (ENNReal.toReal p)) -> (forall (f : PiLp.{u2, u1} p ι β) (g : PiLp.{u2, u1} p ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.instPowENNRealReal) (Finset.sum.{0, u2} ENNReal ι (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Finset.univ.{u2} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.instPowENNRealReal) (EDist.edist.{u1} (β i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_sum PiLp.edist_eq_sumₓ'. -/
 theorem edist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p β) :
     edist f g = (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.edist_eq_sum PiLp.edist_eq_sum
 
-/- warning: pi_Lp.edist_eq_supr -> PiLp.edist_eq_iSup is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), EDist.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (g : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.hasEdist.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι (fun (i : ι) => EDist.edist.{u2} (β i) (_inst_2 i) (f i) (g i)))
-but is expected to have type
-  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.instEDistPiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) ι (fun (i : ι) => EDist.edist.{u1} (β i) (_inst_2 i) (f i) (g i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_supr PiLp.edist_eq_iSupₓ'. -/
 theorem edist_eq_iSup (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) := by dsimp [edist];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.edist_eq_supr PiLp.edist_eq_iSup
@@ -192,12 +168,6 @@ section EdistProp
 
 variable {β} [∀ i, PseudoEMetricSpace (β i)]
 
-/- warning: pi_Lp.edist_self -> PiLp.edist_self is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] (f : PiLp.{u1, u2} p ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toHasEdist.{u2} (β i) (_inst_2 i))) f f) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] (f : PiLp.{u2, u1} p ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (_inst_2 i))) f f) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_self PiLp.edist_selfₓ'. -/
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
@@ -208,12 +178,6 @@ protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
   · simp [edist_eq_sum h, ENNReal.zero_rpow_of_pos h, ENNReal.zero_rpow_of_pos (inv_pos.2 <| h)]
 #align pi_Lp.edist_self PiLp.edist_self
 
-/- warning: pi_Lp.edist_comm -> PiLp.edist_comm is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] (f : PiLp.{u1, u2} p ι β) (g : PiLp.{u1, u2} p ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toHasEdist.{u2} (β i) (_inst_2 i))) f g) (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toHasEdist.{u2} (β i) (_inst_2 i))) g f)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] (f : PiLp.{u2, u1} p ι β) (g : PiLp.{u2, u1} p ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (_inst_2 i))) f g) (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (_inst_2 i))) g f)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_comm PiLp.edist_commₓ'. -/
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_comm (f g : PiLp p β) : edist f g = edist g f :=
@@ -245,34 +209,16 @@ instance : Dist (PiLp p α)
 
 variable {α}
 
-/- warning: pi_Lp.dist_eq_card -> PiLp.dist_eq_card is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Dist.{u2} (α i)] (f : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α) (g : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α) (PiLp.hasDist.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Finset.card.{u1} ι (Set.Finite.toFinset.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (α i) (f i) (g i))) (Set.toFinite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (α i) (f i) (g i))) (Subtype.finite.{succ u1} ι (Finite.of_fintype.{u1} ι _inst_1) (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (α i) (f i) (g i)))))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] (f : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α) (g : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α) (PiLp.instDistPiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (Nat.cast.{0} Real Real.natCast (Finset.card.{u2} ι (Set.Finite.toFinset.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (α i) (f i) (g i))) (Set.toFinite.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (α i) (f i) (g i))) (Subtype.finite.{succ u2} ι (Finite.of_fintype.{u2} ι _inst_1) (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (α i) (f i) (g i)))))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_card PiLp.dist_eq_cardₓ'. -/
 theorem dist_eq_card (f g : PiLp 0 α) : dist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.dist_eq_card PiLp.dist_eq_card
 
-/- warning: pi_Lp.dist_eq_sum -> PiLp.dist_eq_sum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Dist.{u2} (α i)] {p : ENNReal}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (ENNReal.toReal p)) -> (forall (f : PiLp.{u1, u2} p ι α) (g : PiLp.{u1, u2} p ι α), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} p ι α) (PiLp.hasDist.{u1, u2} p ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Dist.dist.{u2} (α i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
-but is expected to have type
-  forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] {p : ENNReal}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (ENNReal.toReal p)) -> (forall (f : PiLp.{u2, u1} p ι α) (g : PiLp.{u2, u1} p ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} p ι α) (PiLp.instDistPiLp.{u2, u1} p ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Finset.sum.{0, u2} Real ι Real.instAddCommMonoidReal (Finset.univ.{u2} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Dist.dist.{u1} (α i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_sum PiLp.dist_eq_sumₓ'. -/
 theorem dist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p α) :
     dist f g = (∑ i, dist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.dist_eq_sum PiLp.dist_eq_sum
 
-/- warning: pi_Lp.dist_eq_csupr -> PiLp.dist_eq_iSup is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Dist.{u2} (α i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α) (g : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α) (PiLp.hasDist.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u1} Real Real.hasSup ι (fun (i : ι) => Dist.dist.{u2} (α i) (_inst_2 i) (f i) (g i)))
-but is expected to have type
-  forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (PiLp.instDistPiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u2} Real Real.instSupSetReal ι (fun (i : ι) => Dist.dist.{u1} (α i) (_inst_2 i) (f i) (g i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSupₓ'. -/
 theorem dist_eq_iSup (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) := by dsimp [dist];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSup
@@ -299,32 +245,14 @@ instance hasNorm : Norm (PiLp p β)
 
 variable {p β}
 
-/- warning: pi_Lp.norm_eq_card -> PiLp.norm_eq_card is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Norm.{u2} (β i)] [_inst_3 : forall (i : ι), Zero.{u2} (β i)] (f : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Finset.card.{u1} ι (Set.Finite.toFinset.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (_inst_3 i)))))) (Set.toFinite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (_inst_3 i)))))) (Subtype.finite.{succ u1} ι (Finite.of_fintype.{u1} ι _inst_1) (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (_inst_3 i))))))))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)] (f : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β) (PiLp.hasNorm.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (Nat.cast.{0} Real Real.natCast (Finset.card.{u2} ι (Set.Finite.toFinset.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (OfNat.ofNat.{u1} (β i) 0 (Zero.toOfNat0.{u1} (β i) (_inst_3 i))))) (Set.toFinite.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (OfNat.ofNat.{u1} (β i) 0 (Zero.toOfNat0.{u1} (β i) (_inst_3 i))))) (Subtype.finite.{succ u2} ι (Finite.of_fintype.{u2} ι _inst_1) (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (OfNat.ofNat.{u1} (β i) 0 (Zero.toOfNat0.{u1} (β i) (_inst_3 i)))))))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_card PiLp.norm_eq_cardₓ'. -/
 theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = { i | f i ≠ 0 }.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.norm_eq_card PiLp.norm_eq_card
 
-/- warning: pi_Lp.norm_eq_csupr -> PiLp.norm_eq_ciSup is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Norm.{u2} (β i)] [_inst_3 : forall (i : ι), Zero.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.hasNorm.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (iSup.{0, succ u1} Real Real.hasSup ι (fun (i : ι) => Norm.norm.{u2} (β i) (_inst_2 i) (f i)))
-but is expected to have type
-  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.hasNorm.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (iSup.{0, succ u2} Real Real.instSupSetReal ι (fun (i : ι) => Norm.norm.{u1} (β i) (_inst_2 i) (f i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSupₓ'. -/
 theorem norm_eq_ciSup (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ := by dsimp [norm];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSup
 
-/- warning: pi_Lp.norm_eq_sum -> PiLp.norm_eq_sum is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Norm.{u2} (β i)] [_inst_3 : forall (i : ι), Zero.{u2} (β i)], (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (ENNReal.toReal p)) -> (forall (f : PiLp.{u1, u2} p ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Norm.norm.{u2} (β i) (_inst_2 i) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)], (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (ENNReal.toReal p)) -> (forall (f : PiLp.{u2, u1} p ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.hasNorm.{u2, u1} p ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Finset.sum.{0, u2} Real ι Real.instAddCommMonoidReal (Finset.univ.{u2} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Norm.norm.{u1} (β i) (_inst_2 i) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_sum PiLp.norm_eq_sumₓ'. -/
 theorem norm_eq_sum (hp : 0 < p.toReal) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
@@ -356,12 +284,6 @@ variable [Fact (1 ≤ p)] [∀ i, PseudoMetricSpace (α i)] [∀ i, PseudoEMetri
 
 variable [Fintype ι]
 
-/- warning: pi_Lp.pseudo_emetric_aux -> PiLp.pseudoEmetricAux is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], PseudoEMetricSpace.{max u1 u2} (PiLp.{u1, u2} p ι β)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], PseudoEMetricSpace.{max u2 u1} (PiLp.{u1, u2} p ι β)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.pseudo_emetric_aux PiLp.pseudoEmetricAuxₓ'. -/
 /-- Endowing the space `pi_Lp p β` with the `L^p` pseudoemetric structure. This definition is not
 satisfactory, as it does not register the fact that the topology and the uniform structure coincide
 with the product one. Therefore, we do not register it as an instance. Using this as a temporary
@@ -396,12 +318,6 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β)
 
 attribute [local instance] PiLp.pseudoEmetricAux
 
-/- warning: pi_Lp.supr_edist_ne_top_aux -> PiLp.iSup_edist_ne_top_aux is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_5 : Finite.{succ u1} ι] {α : ι -> Type.{u2}} [_inst_6 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α) (g : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α), Ne.{1} ENNReal (iSup.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι (fun (i : ι) => EDist.edist.{u2} (α i) (PseudoMetricSpace.toEDist.{u2} (α i) (_inst_6 i)) (f i) (g i))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))
-but is expected to have type
-  forall {ι : Type.{u2}} [_inst_5 : Finite.{succ u2} ι] {α : ι -> Type.{u1}} [_inst_6 : forall (i : ι), PseudoMetricSpace.{u1} (α i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α), Ne.{1} ENNReal (iSup.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) ι (fun (i : ι) => EDist.edist.{u1} (α i) (PseudoEMetricSpace.toEDist.{u1} (α i) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} (α i) (_inst_6 i))) (f i) (g i))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_auxₓ'. -/
 /-- An auxiliary lemma used twice in the proof of `pi_Lp.pseudo_metric_aux` below. Not intended for
 use outside this file. -/
 theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
@@ -414,12 +330,6 @@ theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
   exact_mod_cast hM i
 #align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_aux
 
-/- warning: pi_Lp.pseudo_metric_aux -> PiLp.pseudoMetricAux is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] [_inst_4 : Fintype.{u1} ι], PseudoMetricSpace.{max u1 u2} (PiLp.{u1, u2} p ι α)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] [_inst_4 : Fintype.{u1} ι], PseudoMetricSpace.{max u2 u1} (PiLp.{u1, u2} p ι α)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.pseudo_metric_aux PiLp.pseudoMetricAuxₓ'. -/
 /-- Endowing the space `pi_Lp p α` with the `L^p` pseudometric structure. This definition is not
 satisfactory, as it does not register the fact that the topology, the uniform structure, and the
 bornology coincide with the product ones. Therefore, we do not register it as an instance. Using
@@ -463,12 +373,6 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
 
 attribute [local instance] PiLp.pseudoMetricAux
 
-/- warning: pi_Lp.lipschitz_with_equiv_aux -> PiLp.lipschitzWith_equiv_aux is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], LipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u1, u2} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (OfNat.mk.{0} NNReal 1 (One.one.{0} NNReal (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] [_inst_4 : Fintype.{u2} ι], LipschitzWith.{max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u2, u1} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u2, u1} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_auxₓ'. -/
 theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
   by
   intro x y
@@ -491,12 +395,6 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
       
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
 
-/- warning: pi_Lp.antilipschitz_with_equiv_aux -> PiLp.antilipschitzWith_equiv_aux is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], AntilipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u1, u2} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_4)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] [_inst_4 : Fintype.{u2} ι], AntilipschitzWith.{max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u2, u1} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u2, u1} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u2} ι _inst_4)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_auxₓ'. -/
 theorem antilipschitzWith_equiv_aux :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   by
@@ -530,12 +428,6 @@ theorem antilipschitzWith_equiv_aux :
       
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 
-/- warning: pi_Lp.aux_uniformity_eq -> PiLp.aux_uniformity_eq is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (Prod.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β))) (uniformity.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoEMetricSpace.toUniformSpace.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.pseudoEmetricAux.{u1, u2} p ι β _inst_1 (fun (i : ι) => _inst_3 i) _inst_4))) (uniformity.{max u1 u2} (forall (i : ι), β i) (Pi.uniformSpace.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => PseudoEMetricSpace.toUniformSpace.{u2} (β i) (_inst_3 i))))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] [_inst_4 : Fintype.{u2} ι], Eq.{max (succ u2) (succ u1)} (Filter.{max u1 u2} (Prod.{max u1 u2, max u1 u2} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β))) (uniformity.{max u1 u2} (PiLp.{u2, u1} p ι β) (PseudoEMetricSpace.toUniformSpace.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.pseudoEmetricAux.{u2, u1} p ι β _inst_1 (fun (i : ι) => _inst_3 i) _inst_4))) (uniformity.{max u2 u1} (forall (i : ι), β i) (Pi.uniformSpace.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => PseudoEMetricSpace.toUniformSpace.{u1} (β i) (_inst_3 i))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.aux_uniformity_eq PiLp.aux_uniformity_eqₓ'. -/
 theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
   by
   have A : UniformInducing (PiLp.equiv p β) :=
@@ -546,12 +438,6 @@ theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
   rw [← A.comap_uniformity, this, comap_id]
 #align pi_Lp.aux_uniformity_eq PiLp.aux_uniformity_eq
 
-/- warning: pi_Lp.aux_cobounded_eq -> PiLp.aux_cobounded_eq is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] [_inst_4 : Fintype.{u1} ι], Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (PiLp.{u1, u2} p ι α)) (Bornology.cobounded.{max u1 u2} (PiLp.{u1, u2} p ι α) (PseudoMetricSpace.toBornology.{max u1 u2} (PiLp.{u1, u2} p ι α) (PiLp.pseudoMetricAux.{u1, u2} p ι α _inst_1 (fun (i : ι) => _inst_2 i) _inst_4))) (Bornology.cobounded.{max u1 u2} (forall (i : ι), α i) (Pi.instBornology.{u1, u2} ι (fun (i : ι) => α i) _inst_4 (fun (i : ι) => PseudoMetricSpace.toBornology.{u2} (α i) (_inst_2 i))))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (α : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u1} (α i)] [_inst_4 : Fintype.{u2} ι], Eq.{max (succ u2) (succ u1)} (Filter.{max u1 u2} (PiLp.{u2, u1} p ι α)) (Bornology.cobounded.{max u1 u2} (PiLp.{u2, u1} p ι α) (PseudoMetricSpace.toBornology.{max u2 u1} (PiLp.{u2, u1} p ι α) (PiLp.pseudoMetricAux.{u2, u1} p ι α _inst_1 (fun (i : ι) => _inst_2 i) _inst_4))) (Bornology.cobounded.{max u1 u2} (forall (i : ι), α i) (Pi.instBornology.{u2, u1} ι (fun (i : ι) => α i) _inst_4 (fun (i : ι) => PseudoMetricSpace.toBornology.{u1} (α i) (_inst_2 i))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.aux_cobounded_eq PiLp.aux_cobounded_eqₓ'. -/
 theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.instBornology :=
   calc
     cobounded (PiLp p α) = comap (PiLp.equiv p α) (cobounded _) :=
@@ -631,45 +517,21 @@ and having as uniformity the product uniformity. -/
 instance [∀ i, MetricSpace (α i)] : MetricSpace (PiLp p α) :=
   MetricSpace.ofT0PseudoMetricSpace _
 
-/- warning: pi_Lp.nndist_eq_sum -> PiLp.nndist_eq_sum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), PseudoMetricSpace.{u2} (β i)], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.pseudoMetricSpace.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i))) x y) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_4 i)) (x i) (y i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), PseudoMetricSpace.{u2} (β i)], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.instPseudoMetricSpacePiLp.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i))) x y) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal instNNRealStrictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_4 i)) (x i) (y i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sumₓ'. -/
 theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
     nndist x y = (∑ i : ι, nndist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) :=
   Subtype.ext <| by push_cast ; exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
 
-/- warning: pi_Lp.nndist_eq_supr -> PiLp.nndist_eq_iSup is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), PseudoMetricSpace.{u2} (β i)] (x : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (y : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.pseudoMetricSpace.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i))) x y) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toHasSup.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.conditionallyCompleteLinearOrderBot))) ι (fun (i : ι) => NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_3 i)) (x i) (y i)))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), PseudoMetricSpace.{u2} (β i)] (x : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (y : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.instPseudoMetricSpacePiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i))) x y) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toSupSet.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.instConditionallyCompleteLinearOrderBotNNReal))) ι (fun (i : ι) => NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_3 i)) (x i) (y i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSupₓ'. -/
 theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
   Subtype.ext <| by push_cast ; exact dist_eq_csupr _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
 
-/- warning: pi_Lp.lipschitz_with_equiv -> PiLp.lipschitzWith_equiv is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], LipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricSpace.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (OfNat.mk.{0} NNReal 1 (One.one.{0} NNReal (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], LipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.instPseudoEMetricSpacePiLp.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.{u1, u2} p ι β) (fun (_x : PiLp.{u1, u2} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u1, u2} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equivₓ'. -/
 theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
   lipschitzWith_equiv_aux p β
 #align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equiv
 
-/- warning: pi_Lp.antilipschitz_with_equiv -> PiLp.antilipschitzWith_equiv is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], AntilipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricSpace.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], AntilipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.instPseudoEMetricSpacePiLp.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.{u1, u2} p ι β) (fun (_x : PiLp.{u1, u2} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u1, u2} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.antilipschitz_with_equiv PiLp.antilipschitzWith_equivₓ'. -/
 theorem antilipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   antilipschitzWith_equiv_aux p β
@@ -687,12 +549,6 @@ theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp
 
 variable (p β)
 
-/- warning: pi_Lp.seminormed_add_comm_group -> PiLp.seminormedAddCommGroup is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], SeminormedAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι β)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], SeminormedAddCommGroup.{max u2 u1} (PiLp.{u1, u2} p ι β)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroupₓ'. -/
 /-- seminormed group instance on the product of finitely many normed groups, using the `L^p`
 norm. -/
 instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
@@ -706,45 +562,21 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
           dist_eq_norm] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
 
-/- warning: pi_Lp.normed_add_comm_group -> PiLp.normedAddCommGroup is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), NormedAddCommGroup.{u2} (α i)], NormedAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι α)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), NormedAddCommGroup.{u2} (α i)], NormedAddCommGroup.{max u2 u1} (PiLp.{u1, u2} p ι α)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.normed_add_comm_group PiLp.normedAddCommGroupₓ'. -/
 /-- normed group instance on the product of finitely many normed groups, using the `L^p` norm. -/
 instance normedAddCommGroup [∀ i, NormedAddCommGroup (α i)] : NormedAddCommGroup (PiLp p α) :=
   { PiLp.seminormedAddCommGroup p α with }
 #align pi_Lp.normed_add_comm_group PiLp.normedAddCommGroup
 
-/- warning: pi_Lp.nnnorm_eq_sum -> PiLp.nnnorm_eq_sum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : ι -> Type.{u2}}, (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i)))) f) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_4 i))) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : ι -> Type.{u2}}, (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i)))) f) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal instNNRealStrictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_4 i))) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sumₓ'. -/
 theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp : p ≠ ∞)
     [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp p β) :
     ‖f‖₊ = (∑ i, ‖f i‖₊ ^ p.toReal) ^ (1 / p.toReal) := by ext;
   simp [NNReal.coe_sum, norm_eq_sum (p.to_real_pos_iff_ne_top.mpr hp)]
 #align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sum
 
-/- warning: pi_Lp.nnnorm_eq_csupr -> PiLp.nnnorm_eq_ciSup is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.seminormedAddCommGroup.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i)))) f) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toHasSup.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.conditionallyCompleteLinearOrderBot))) ι (fun (i : ι) => NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i))) (f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.seminormedAddCommGroup.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i)))) f) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toSupSet.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.instConditionallyCompleteLinearOrderBotNNReal))) ι (fun (i : ι) => NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i))) (f i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSupₓ'. -/
 theorem nnnorm_eq_ciSup {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
     ‖f‖₊ = ⨆ i, ‖f i‖₊ := by ext; simp [NNReal.coe_iSup, norm_eq_csupr]
 #align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSup
 
-/- warning: pi_Lp.norm_eq_of_nat -> PiLp.norm_eq_of_nat is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (n : Nat), (Eq.{1} ENNReal p ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat ENNReal (HasLiftT.mk.{1, 1} Nat ENNReal (CoeTCₓ.coe.{1, 1} Nat ENNReal (Nat.castCoe.{0} ENNReal (AddMonoidWithOne.toNatCast.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) n)) -> (forall (f : PiLp.{u1, u2} p ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_4 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_4 i)))))))) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_4 i)) (f i)) n)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (n : Nat), (Eq.{1} ENNReal p (Nat.cast.{0} ENNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) n)) -> (forall (f : PiLp.{u1, u2} p ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_4 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_4 i)))))))) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_4 i)) (f i)) n)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Nat.cast.{0} Real Real.natCast n))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_natₓ'. -/
 theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) :=
@@ -754,31 +586,16 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
-/- warning: pi_Lp.norm_eq_of_L2 -> PiLp.norm_eq_of_L2 is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i)))))))) x) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_3 i)))))))) x) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2ₓ'. -/
 theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) := by convert norm_eq_of_nat 2 (by norm_cast) _;
   rw [sqrt_eq_rpow]; norm_cast
 #align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2
 
-/- warning: pi_Lp.nnnorm_eq_of_L2 -> PiLp.nnnorm_eq_of_L2 is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2ₓ'. -/
 theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖₊ = NNReal.sqrt (∑ i : ι, ‖x i‖₊ ^ 2) :=
   Subtype.ext <| by push_cast ; exact norm_eq_of_L2 x
 #align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2
 
-/- warning: pi_Lp.norm_sq_eq_of_L2 -> PiLp.norm_sq_eq_of_L2 is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] (β : ι -> Type.{u2}) [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} Real (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i)))))))) x) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] (β : ι -> Type.{u2}) [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_3 i)))))))) x) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2ₓ'. -/
 theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ ^ 2 = ∑ i : ι, ‖x i‖ ^ 2 :=
   by
@@ -787,43 +604,22 @@ theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β
   rw [nnnorm_eq_of_L2, NNReal.sq_sqrt]
 #align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2
 
-/- warning: pi_Lp.dist_eq_of_L2 -> PiLp.dist_eq_of_L2 is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasDist.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) x y) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Dist.dist.{u2} (β i) (PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.instDistPiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) x y) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Dist.dist.{u2} (β i) (PseudoMetricSpace.toDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2ₓ'. -/
 theorem dist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
   simp_rw [dist_eq_norm, norm_eq_of_L2, Pi.sub_apply]
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
 
-/- warning: pi_Lp.nndist_eq_of_L2 -> PiLp.nndist_eq_of_L2 is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2ₓ'. -/
 theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     nndist x y = (∑ i, nndist (x i) (y i) ^ 2).sqrt :=
   Subtype.ext <| by push_cast ; exact dist_eq_of_L2 _ _
 #align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2
 
-/- warning: pi_Lp.edist_eq_of_L2 -> PiLp.edist_eq_of_L2 is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasEdist.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) x y) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.Real.hasPow) (Finset.sum.{0, u1} ENNReal ι (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Nat ENNReal (instHPow.{0, 0} ENNReal Nat (Monoid.Pow.{0} ENNReal (MonoidWithZero.toMonoid.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (EDist.edist.{u2} (β i) (PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))))
-but is expected to have type
-  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.instEDistPiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u2} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))))) x y) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.instPowENNRealReal) (Finset.sum.{0, u1} ENNReal ι (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Nat ENNReal (instHPow.{0, 0} ENNReal Nat (Monoid.Pow.{0} ENNReal (MonoidWithZero.toMonoid.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))) (EDist.edist.{u2} (β i) (PseudoEMetricSpace.toEDist.{u2} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2ₓ'. -/
 theorem edist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
 
 variable [NormedField 𝕜] [NormedField 𝕜']
 
-/- warning: pi_Lp.normed_space -> PiLp.normedSpace is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], NormedSpace.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))
-but is expected to have type
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], NormedSpace.{u1, max u3 u2} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.normed_space PiLp.normedSpaceₓ'. -/
 /-- The product of finitely many normed spaces is a normed space, with the `L^p` norm. -/
 instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
     NormedSpace 𝕜 (PiLp p β) :=
@@ -841,28 +637,16 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
         exact Finset.sum_nonneg fun i hi => rpow_nonneg_of_nonneg (norm_nonneg _) _ }
 #align pi_Lp.normed_space PiLp.normedSpace
 
-/- warning: pi_Lp.is_scalar_tower -> PiLp.isScalarTower is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.is_scalar_tower PiLp.isScalarTowerₓ'. -/
 instance isScalarTower [∀ i, SeminormedAddCommGroup (β i)] [SMul 𝕜 𝕜'] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, IsScalarTower 𝕜 𝕜' (β i)] : IsScalarTower 𝕜 𝕜' (PiLp p β) :=
   Pi.isScalarTower
 #align pi_Lp.is_scalar_tower PiLp.isScalarTower
 
-/- warning: pi_Lp.smul_comm_class -> PiLp.smulCommClass is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.smul_comm_class PiLp.smulCommClassₓ'. -/
 instance smulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, SMulCommClass 𝕜 𝕜' (β i)] : SMulCommClass 𝕜 𝕜' (PiLp p β) :=
   Pi.smulCommClass
 #align pi_Lp.smul_comm_class PiLp.smulCommClass
 
-/- warning: pi_Lp.finite_dimensional -> PiLp.finiteDimensional is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)] [I : forall (i : ι), FiniteDimensional.{u1, u3} 𝕜 (β i) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)) (NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i))], FiniteDimensional.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)) (PiLp.normedSpace.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)))
-but is expected to have type
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)] [I : forall (i : ι), FiniteDimensional.{u1, u3} 𝕜 (β i) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)) (NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i))], FiniteDimensional.{u1, max u3 u2} 𝕜 (PiLp.{u2, u3} p ι β) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))) (PiLp.module.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.finite_dimensional PiLp.finiteDimensionalₓ'. -/
 instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [I : ∀ i, FiniteDimensional 𝕜 (β i)] : FiniteDimensional 𝕜 (PiLp p β) :=
   FiniteDimensional.finiteDimensional_pi' _ _
@@ -874,64 +658,31 @@ variable {𝕜 𝕜' p α} [∀ i, SeminormedAddCommGroup (β i)] [∀ i, Normed
 
 variable (x y : PiLp p β) (x' y' : ∀ i, β i) (i : ι)
 
-/- warning: pi_Lp.zero_apply -> PiLp.zero_apply is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (i : ι), Eq.{succ u2} (β i) (Zero.zero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))))))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (i : ι), Eq.{succ u2} (β i) (OfNat.ofNat.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (Zero.toOfNat0.{max u1 u2} (PiLp.{u1, u2} p ι β) (NegZeroClass.toZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) i) (OfNat.ofNat.{u2} (β i) 0 (Zero.toOfNat0.{u2} (β i) (NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_5 i)))))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.zero_apply PiLp.zero_applyₓ'. -/
 @[simp]
 theorem zero_apply : (0 : PiLp p β) i = 0 :=
   rfl
 #align pi_Lp.zero_apply PiLp.zero_apply
 
-/- warning: pi_Lp.add_apply -> PiLp.add_apply is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y i) (HAdd.hAdd.{u2, u2, u2} (β i) (β i) (β i) (instHAdd.{u2} (β i) (AddZeroClass.toHasAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))) (x i) (y i))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y i) (HAdd.hAdd.{u2, u2, u2} (β i) (β i) (β i) (instHAdd.{u2} (β i) (AddZeroClass.toAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))) (x i) (y i))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.add_apply PiLp.add_applyₓ'. -/
 @[simp]
 theorem add_apply : (x + y) i = x i + y i :=
   rfl
 #align pi_Lp.add_apply PiLp.add_apply
 
-/- warning: pi_Lp.sub_apply -> PiLp.sub_apply is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y i) (HSub.hSub.{u2, u2, u2} (β i) (β i) (β i) (instHSub.{u2} (β i) (SubNegMonoid.toHasSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) (x i) (y i))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y i) (HSub.hSub.{u2, u2, u2} (β i) (β i) (β i) (instHSub.{u2} (β i) (SubNegMonoid.toSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) (x i) (y i))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.sub_apply PiLp.sub_applyₓ'. -/
 @[simp]
 theorem sub_apply : (x - y) i = x i - y i :=
   rfl
 #align pi_Lp.sub_apply PiLp.sub_apply
 
-/- warning: pi_Lp.smul_apply -> PiLp.smul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.smul_apply PiLp.smul_applyₓ'. -/
 @[simp]
 theorem smul_apply : (c • x) i = c • x i :=
   rfl
 #align pi_Lp.smul_apply PiLp.smul_apply
 
-/- warning: pi_Lp.neg_apply -> PiLp.neg_apply is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))) x i) (Neg.neg.{u2} (β i) (SubNegMonoid.toHasNeg.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))) (x i))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (NegZeroClass.toNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) x i) (Neg.neg.{u2} (β i) (NegZeroClass.toNeg.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_5 i))))))) (x i))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.neg_apply PiLp.neg_applyₓ'. -/
 @[simp]
 theorem neg_apply : (-x) i = -x i :=
   rfl
 #align pi_Lp.neg_apply PiLp.neg_apply
 
-/- warning: pi_Lp.equivₗᵢ -> PiLp.equivₗᵢ is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearIsometryEquiv.{u1, u1, max u2 u3, max u2 u3} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (PiLp.equivₗᵢ._proof_1.{u1} 𝕜 _inst_3) (PiLp.equivₗᵢ._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (forall (i : ι), β i) (PiLp.seminormedAddCommGroup.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_5 i)) (Pi.seminormedAddCommGroup.{u2, u3} ι (fun (i : ι) => β i) _inst_1 (fun (i : ι) => _inst_5 i)) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_5 i)) (PiLp.normedSpace.{u1, u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) 𝕜 ι β _inst_1 fact_one_le_top_ennreal _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i))) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
-but is expected to have type
-  forall {𝕜 : Type.{u1}} {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearIsometryEquiv.{u1, u1, max u3 u2, max u2 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (forall (i : ι), β i) (PiLp.seminormedAddCommGroup.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_5 i)) (Pi.seminormedAddCommGroup.{u2, u3} ι (fun (i : ι) => β i) _inst_1 (fun (i : ι) => _inst_5 i)) (PiLp.module.{u1, u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) 𝕜 ι β _inst_1 fact_one_le_top_ennreal _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equivₗᵢ PiLp.equivₗᵢₓ'. -/
 /-- The canonical map `pi_Lp.equiv` between `pi_Lp ∞ β` and `Π i, β i` as a linear isometric
 equivalence. -/
 def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
@@ -955,12 +706,6 @@ variable [Fintype ι']
 
 variable (p 𝕜) (E : Type _) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
 
-/- warning: linear_isometry_equiv.pi_Lp_congr_left -> LinearIsometryEquiv.piLpCongrLeft is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] {ι' : Type.{u3}} [_inst_7 : Fintype.{u3} ι'] (E : Type.{u4}) [_inst_8 : NormedAddCommGroup.{u4} E] [_inst_9 : NormedSpace.{u1, u4} 𝕜 E _inst_3 (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)], (Equiv.{succ u2, succ u3} ι ι') -> (LinearIsometryEquiv.{u1, u1, max u2 u4, max u3 u4} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (LinearIsometryEquiv.piLpCongrLeft._proof_1.{u1} 𝕜 _inst_3) (LinearIsometryEquiv.piLpCongrLeft._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u4} p ι (fun (i : ι) => E)) (PiLp.{u3, u4} p ι' (fun (i : ι') => E)) (PiLp.seminormedAddCommGroup.{u2, u4} p ι (fun (i : ι) => E) _inst_1 _inst_2 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.seminormedAddCommGroup.{u3, u4} p ι' (fun (i : ι') => E) _inst_7 _inst_2 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (NormedSpace.toModule.{u1, max u2 u4} 𝕜 (PiLp.{u2, u4} p ι (fun (i : ι) => E)) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u4} p ι (fun (i : ι) => E) _inst_1 _inst_2 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.normedSpace.{u1, u2, u4} p 𝕜 ι (fun (i : ι) => E) _inst_1 _inst_2 _inst_3 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι) => _inst_9))) (NormedSpace.toModule.{u1, max u3 u4} 𝕜 (PiLp.{u3, u4} p ι' (fun (i : ι') => E)) _inst_3 (PiLp.seminormedAddCommGroup.{u3, u4} p ι' (fun (i : ι') => E) _inst_7 _inst_2 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.normedSpace.{u1, u3, u4} p 𝕜 ι' (fun (i : ι') => E) _inst_7 _inst_2 _inst_3 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι') => _inst_9))))
-but is expected to have type
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] {ι' : Type.{u3}} [_inst_7 : Fintype.{u3} ι'] (E : Type.{u4}) [_inst_8 : NormedAddCommGroup.{u4} E] [_inst_9 : NormedSpace.{u1, u4} 𝕜 E _inst_3 (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)], (Equiv.{succ u2, succ u3} ι ι') -> (LinearIsometryEquiv.{u1, u1, max u4 u2, max u4 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u4} p ι (fun (i : ι) => E)) (PiLp.{u3, u4} p ι' (fun (i : ι') => E)) (PiLp.seminormedAddCommGroup.{u2, u4} p ι (fun (i : ι) => E) _inst_1 _inst_2 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.seminormedAddCommGroup.{u3, u4} p ι' (fun (i : ι') => E) _inst_7 _inst_2 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.module.{u1, u2, u4} p 𝕜 ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.8359 : ι) => E) _inst_1 _inst_2 _inst_3 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι) => _inst_9)) (PiLp.module.{u1, u3, u4} p 𝕜 ι' (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.8368 : ι') => E) _inst_7 _inst_2 _inst_3 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι') => _inst_9)))
-Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left LinearIsometryEquiv.piLpCongrLeftₓ'. -/
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
 def LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
@@ -979,18 +724,12 @@ def LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
 
 variable {p 𝕜 E}
 
-/- warning: linear_isometry_equiv.pi_Lp_congr_left_apply -> LinearIsometryEquiv.piLpCongrLeft_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left_apply LinearIsometryEquiv.piLpCongrLeft_applyₓ'. -/
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_apply (e : ι ≃ ι') (v : PiLp p fun i : ι => E) :
     LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e v = Equiv.piCongrLeft' (fun i : ι => E) e v :=
   rfl
 #align linear_isometry_equiv.pi_Lp_congr_left_apply LinearIsometryEquiv.piLpCongrLeft_apply
 
-/- warning: linear_isometry_equiv.pi_Lp_congr_left_symm -> LinearIsometryEquiv.piLpCongrLeft_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left_symm LinearIsometryEquiv.piLpCongrLeft_symmₓ'. -/
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
     (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e).symm =
@@ -998,9 +737,6 @@ theorem LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
   LinearIsometryEquiv.ext fun x => rfl
 #align linear_isometry_equiv.pi_Lp_congr_left_symm LinearIsometryEquiv.piLpCongrLeft_symm
 
-/- warning: linear_isometry_equiv.pi_Lp_congr_left_single -> LinearIsometryEquiv.piLpCongrLeft_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_singleₓ'. -/
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq ι'] (e : ι ≃ ι')
     (i : ι) (v : E) :
@@ -1012,107 +748,53 @@ theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq 
     Function.update, Equiv.symm_apply_eq]
 #align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_single
 
-/- warning: pi_Lp.equiv_zero -> PiLp.equiv_zero is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (OfNat.ofNat.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (OfNat.mk.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (Zero.zero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))))))) (OfNat.ofNat.{max u1 u2} (forall (i : ι), β i) 0 (OfNat.mk.{max u1 u2} (forall (i : ι), β i) 0 (Zero.zero.{max u1 u2} (forall (i : ι), β i) (Pi.instZero.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))))))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_zero PiLp.equiv_zeroₓ'. -/
 @[simp]
 theorem equiv_zero : PiLp.equiv p β 0 = 0 :=
   rfl
 #align pi_Lp.equiv_zero PiLp.equiv_zero
 
-/- warning: pi_Lp.equiv_symm_zero -> PiLp.equiv_symm_zero is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (OfNat.ofNat.{max u1 u2} (forall (i : ι), β i) 0 (OfNat.mk.{max u1 u2} (forall (i : ι), β i) 0 (Zero.zero.{max u1 u2} (forall (i : ι), β i) (Pi.instZero.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))))))) (OfNat.ofNat.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (OfNat.mk.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (Zero.zero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))))))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (NegZeroClass.toZero.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zeroₓ'. -/
 @[simp]
 theorem equiv_symm_zero : (PiLp.equiv p β).symm 0 = 0 :=
   rfl
 #align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zero
 
-/- warning: pi_Lp.equiv_add -> PiLp.equiv_add is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u1 u2} (forall (i : ι), β i) (Pi.instAdd.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) x) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) y))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x : PiLp.{u2, u1} p ι β) (y : PiLp.{u2, u1} p ι β), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddZeroClass.toAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddMonoid.toAddZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toAddMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddZeroClass.toAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddMonoid.toAddZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toAddMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (Pi.instAdd.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toAdd.{u1} (β i) (AddMonoid.toAddZeroClass.{u1} (β i) (SubNegMonoid.toAddMonoid.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) x) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) y))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_add PiLp.equiv_addₓ'. -/
 @[simp]
 theorem equiv_add : PiLp.equiv p β (x + y) = PiLp.equiv p β x + PiLp.equiv p β y :=
   rfl
 #align pi_Lp.equiv_add PiLp.equiv_add
 
-/- warning: pi_Lp.equiv_symm_add -> PiLp.equiv_symm_add is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u1 u2} (forall (i : ι), β i) (Pi.instAdd.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))))) x' y')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) x') (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) y'))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u2 u1} (forall (i : ι), β i) (Pi.instAdd.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toAdd.{u1} (β i) (AddMonoid.toAddZeroClass.{u1} (β i) (SubNegMonoid.toAddMonoid.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))))) x' y')) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u2 u1} (forall (i : ι), β i) (Pi.instAdd.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toAdd.{u1} (β i) (AddMonoid.toAddZeroClass.{u1} (β i) (SubNegMonoid.toAddMonoid.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))))) x' y')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) y') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddZeroClass.toAdd.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddMonoid.toAddZeroClass.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubNegMonoid.toAddMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddGroup.toSubNegMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddGroup.toAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) x') (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) y'))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_add PiLp.equiv_symm_addₓ'. -/
 @[simp]
 theorem equiv_symm_add :
     (PiLp.equiv p β).symm (x' + y') = (PiLp.equiv p β).symm x' + (PiLp.equiv p β).symm y' :=
   rfl
 #align pi_Lp.equiv_symm_add PiLp.equiv_symm_add
 
-/- warning: pi_Lp.equiv_sub -> PiLp.equiv_sub is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u1 u2} (forall (i : ι), β i) (Pi.instSub.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) x) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) y))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x : PiLp.{u2, u1} p ι β) (y : PiLp.{u2, u1} p ι β), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (instHSub.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (Pi.instSub.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toSub.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) x) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) y))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_sub PiLp.equiv_subₓ'. -/
 @[simp]
 theorem equiv_sub : PiLp.equiv p β (x - y) = PiLp.equiv p β x - PiLp.equiv p β y :=
   rfl
 #align pi_Lp.equiv_sub PiLp.equiv_sub
 
-/- warning: pi_Lp.equiv_symm_sub -> PiLp.equiv_symm_sub is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u1 u2} (forall (i : ι), β i) (Pi.instSub.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) x' y')) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) x') (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) y'))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u2 u1} (forall (i : ι), β i) (Pi.instSub.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toSub.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))) x' y')) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u2 u1} (forall (i : ι), β i) (Pi.instSub.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toSub.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))) x' y')) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) y') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (instHSub.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubNegMonoid.toSub.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddGroup.toSubNegMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddGroup.toAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) x') (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) y'))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_sub PiLp.equiv_symm_subₓ'. -/
 @[simp]
 theorem equiv_symm_sub :
     (PiLp.equiv p β).symm (x' - y') = (PiLp.equiv p β).symm x' - (PiLp.equiv p β).symm y' :=
   rfl
 #align pi_Lp.equiv_symm_sub PiLp.equiv_symm_sub
 
-/- warning: pi_Lp.equiv_neg -> PiLp.equiv_neg is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β), Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))) x)) (Neg.neg.{max u1 u2} (forall (i : ι), β i) (Pi.instNeg.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasNeg.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) x))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x : PiLp.{u2, u1} p ι β), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (Neg.neg.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toNeg.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) x)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (Neg.neg.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toNeg.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) x)) (Neg.neg.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (Pi.instNeg.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toNeg.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) x))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_neg PiLp.equiv_negₓ'. -/
 @[simp]
 theorem equiv_neg : PiLp.equiv p β (-x) = -PiLp.equiv p β x :=
   rfl
 #align pi_Lp.equiv_neg PiLp.equiv_neg
 
-/- warning: pi_Lp.equiv_symm_neg -> PiLp.equiv_symm_neg is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x' : forall (i : ι), β i), Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Neg.neg.{max u1 u2} (forall (i : ι), β i) (Pi.instNeg.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasNeg.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) x')) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) x'))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x' : forall (i : ι), β i), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Neg.neg.{max u2 u1} (forall (i : ι), β i) (Pi.instNeg.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toNeg.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) x')) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Neg.neg.{max u2 u1} (forall (i : ι), β i) (Pi.instNeg.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toNeg.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) x')) (Neg.neg.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (NegZeroClass.toNeg.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) x'))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_neg PiLp.equiv_symm_negₓ'. -/
 @[simp]
 theorem equiv_symm_neg : (PiLp.equiv p β).symm (-x') = -(PiLp.equiv p β).symm x' :=
   rfl
 #align pi_Lp.equiv_symm_neg PiLp.equiv_symm_neg
 
-/- warning: pi_Lp.equiv_smul -> PiLp.equiv_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_smul PiLp.equiv_smulₓ'. -/
 @[simp]
 theorem equiv_smul : PiLp.equiv p β (c • x) = c • PiLp.equiv p β x :=
   rfl
 #align pi_Lp.equiv_smul PiLp.equiv_smul
 
-/- warning: pi_Lp.equiv_symm_smul -> PiLp.equiv_symm_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_smul PiLp.equiv_symm_smulₓ'. -/
 @[simp]
 theorem equiv_symm_smul : (PiLp.equiv p β).symm (c • x') = c • (PiLp.equiv p β).symm x' :=
   rfl
@@ -1124,12 +806,6 @@ variable (p)
 
 variable [DecidableEq ι]
 
-/- warning: pi_Lp.nnnorm_equiv_symm_single -> PiLp.nnnorm_equiv_symm_single is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b : β i), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b))) (NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))) b)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_5 : DecidableEq.{succ u2} ι] [_inst_10 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] (i : ι) (b : β i), Eq.{1} NNReal (NNNorm.nnnorm.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b)) (SeminormedAddGroup.toNNNorm.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b)) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_10 (fun (i : ι) => _inst_2 i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b))) (NNNorm.nnnorm.{u1} (β i) (SeminormedAddGroup.toNNNorm.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_2 i))) b)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_singleₓ'. -/
 @[simp]
 theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
     ‖(PiLp.equiv p β).symm (Pi.single i b)‖₊ = ‖b‖₊ :=
@@ -1152,23 +828,11 @@ theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
     rw [equiv_symm_apply, Pi.single_eq_of_ne hij, nnnorm_zero, NNReal.zero_rpow hp0]
 #align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_single
 
-/- warning: pi_Lp.norm_equiv_symm_single -> PiLp.norm_equiv_symm_single is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b : β i), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_5 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b))) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_5 i)) b)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b : β i), Eq.{1} Real (Norm.norm.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b)) (PiLp.hasNorm.{u2, u1} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u1} (β i) (_inst_5 i)) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b))) (Norm.norm.{u1} (β i) (SeminormedAddCommGroup.toNorm.{u1} (β i) (_inst_5 i)) b)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_singleₓ'. -/
 @[simp]
 theorem norm_equiv_symm_single (i : ι) (b : β i) : ‖(PiLp.equiv p β).symm (Pi.single i b)‖ = ‖b‖ :=
   congr_arg coe <| nnnorm_equiv_symm_single p β i b
 #align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_single
 
-/- warning: pi_Lp.nndist_equiv_symm_single_same -> PiLp.nndist_equiv_symm_single_same is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.pseudoMetricSpace.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₁)) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₂))) (NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i))) b₁ b₂)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} NNReal (NNDist.nndist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PseudoMetricSpace.toNNDist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PiLp.instPseudoMetricSpacePiLp.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₂))) (NNDist.nndist.{u1} (β i) (PseudoMetricSpace.toNNDist.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i))) b₁ b₂)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_sameₓ'. -/
 @[simp]
 theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     nndist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -1178,12 +842,6 @@ theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     nnnorm_equiv_symm_single]
 #align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_same
 
-/- warning: pi_Lp.dist_equiv_symm_single_same -> PiLp.dist_equiv_symm_single_same is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasDist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₁)) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₂))) (Dist.dist.{u2} (β i) (PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i))) b₁ b₂)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} Real (Dist.dist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PiLp.instDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toDist.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₂))) (Dist.dist.{u1} (β i) (PseudoMetricSpace.toDist.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i))) b₁ b₂)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_sameₓ'. -/
 @[simp]
 theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     dist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -1191,12 +849,6 @@ theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
   congr_arg coe <| nndist_equiv_symm_single_same p β i b₁ b₂
 #align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_same
 
-/- warning: pi_Lp.edist_equiv_symm_single_same -> PiLp.edist_equiv_symm_single_same is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₁)) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₂))) (EDist.edist.{u2} (β i) (PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i))) b₁ b₂)
-but is expected to have type
-  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} ENNReal (EDist.edist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₂))) (EDist.edist.{u1} (β i) (PseudoEMetricSpace.toEDist.{u1} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i)))) b₁ b₂)
-Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_equiv_symm_single_same PiLp.edist_equiv_symm_single_sameₓ'. -/
 @[simp]
 theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     edist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -1206,12 +858,6 @@ theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
 
 end Single
 
-/- warning: pi_Lp.nnnorm_equiv_symm_const -> PiLp.nnnorm_equiv_symm_const is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b)))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddGroup.toNNNorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_constₓ'. -/
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
@@ -1228,12 +874,6 @@ theorem nnnorm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞
       NNReal.rpow_one, ENNReal.toReal_div, ENNReal.one_toReal]
 #align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_const
 
-/- warning: pi_Lp.nnnorm_equiv_symm_const' -> PiLp.nnnorm_equiv_symm_const' is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddGroup.toNNNorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'ₓ'. -/
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const` for a version which exchanges the hypothesis `nonempty ι`.
@@ -1249,12 +889,6 @@ theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι]
   · exact nnnorm_equiv_symm_const hp b
 #align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'
 
-/- warning: pi_Lp.norm_equiv_symm_const -> PiLp.norm_equiv_symm_const is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (fun (i : ι) => AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) b)))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11575 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (fun (i : ι) => NegZeroClass.toZero.{u2} β (SubNegZeroMonoid.toNegZeroClass.{u2} β (SubtractionMonoid.toSubNegZeroMonoid.{u2} β (SubtractionCommMonoid.toSubtractionMonoid.{u2} β (AddCommGroup.toDivisionAddCommMonoid.{u2} β (SeminormedAddCommGroup.toAddCommGroup.{u2} β _inst_10))))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11575 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11575 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (NNReal.toReal (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_10) b)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_const PiLp.norm_equiv_symm_constₓ'. -/
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.norm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
@@ -1265,12 +899,6 @@ theorem norm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞)
   (congr_arg coe <| nnnorm_equiv_symm_const hp b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const PiLp.norm_equiv_symm_const
 
-/- warning: pi_Lp.norm_equiv_symm_const' -> PiLp.norm_equiv_symm_const' is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (fun (i : ι) => AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) b))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11733 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (fun (i : ι) => NegZeroClass.toZero.{u2} β (SubNegZeroMonoid.toNegZeroClass.{u2} β (SubtractionMonoid.toSubNegZeroMonoid.{u2} β (SubtractionCommMonoid.toSubtractionMonoid.{u2} β (AddCommGroup.toDivisionAddCommMonoid.{u2} β (SeminormedAddCommGroup.toAddCommGroup.{u2} β _inst_10))))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11733 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11733 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (NNReal.toReal (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_10) b))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_const' PiLp.norm_equiv_symm_const'ₓ'. -/
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.norm_equiv_symm_const` for a version which exchanges the hypothesis `nonempty ι`.
@@ -1281,23 +909,11 @@ theorem norm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι] (b
   (congr_arg coe <| nnnorm_equiv_symm_const' b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const' PiLp.norm_equiv_symm_const'
 
-/- warning: pi_Lp.nnnorm_equiv_symm_one -> PiLp.nnnorm_equiv_symm_one is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (OfNat.mk.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (One.one.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) (Pi.instOne.{u1, u2} ι (fun (i : ι) => (fun (_x : ι) => β) i) (fun (i : ι) => _inst_11))))))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_11))))))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (SeminormedAddGroup.toNNNorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11)))))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β _inst_11)))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_one PiLp.nnnorm_equiv_symm_oneₓ'. -/
 theorem nnnorm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
     ‖(PiLp.equiv p fun _ : ι => β).symm 1‖₊ = Fintype.card ι ^ (1 / p).toReal * ‖(1 : β)‖₊ :=
   (nnnorm_equiv_symm_const hp (1 : β)).trans rfl
 #align pi_Lp.nnnorm_equiv_symm_one PiLp.nnnorm_equiv_symm_one
 
-/- warning: pi_Lp.norm_equiv_symm_one -> PiLp.norm_equiv_symm_one is a dubious translation:
-lean 3 declaration is
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (fun (i : ι) => AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (OfNat.mk.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (One.one.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) (Pi.instOne.{u1, u2} ι (fun (i : ι) => (fun (_x : ι) => β) i) (fun (i : ι) => _inst_11))))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_11))))))
-but is expected to have type
-  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} Real (Norm.norm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12054 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (fun (i : ι) => NegZeroClass.toZero.{u2} β (SubNegZeroMonoid.toNegZeroClass.{u2} β (SubtractionMonoid.toSubNegZeroMonoid.{u2} β (SubtractionCommMonoid.toSubtractionMonoid.{u2} β (AddCommGroup.toDivisionAddCommMonoid.{u2} β (SeminormedAddCommGroup.toAddCommGroup.{u2} β _inst_10))))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12054 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12054 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (NNReal.toReal (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β _inst_11)))))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_one PiLp.norm_equiv_symm_oneₓ'. -/
 theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
     ‖(PiLp.equiv p fun _ : ι => β).symm 1‖ = Fintype.card ι ^ (1 / p).toReal * ‖(1 : β)‖ :=
   (norm_equiv_symm_const hp (1 : β)).trans rfl
@@ -1305,12 +921,6 @@ theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [O
 
 variable (𝕜 p)
 
-/- warning: pi_Lp.linear_equiv -> PiLp.linearEquiv is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (PiLp.linearEquiv._proof_1.{u1} 𝕜 _inst_3) (PiLp.linearEquiv._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u3} p ι β) (forall (i : ι), β i) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)) (PiLp.normedSpace.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i))) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
-but is expected to have type
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearEquiv.{u1, u1, max u3 u2, max u2 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u3} p ι β) (forall (i : ι), β i) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (PiLp.module.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.linear_equiv PiLp.linearEquivₓ'. -/
 /-- `pi_Lp.equiv` as a linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
@@ -1319,12 +929,6 @@ protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
     invFun := (PiLp.equiv _ _).symm }
 #align pi_Lp.linear_equiv PiLp.linearEquiv
 
-/- warning: pi_Lp.continuous_linear_equiv -> PiLp.continuousLinearEquiv is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], ContinuousLinearEquiv.{u1, u1, max u2 u3, max u2 u3} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (PiLp.continuousLinearEquiv._proof_1.{u1} 𝕜 _inst_3) (PiLp.continuousLinearEquiv._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u3} p ι β) (UniformSpace.toTopologicalSpace.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.uniformSpace.{u2, u3} p ι β (fun (i : ι) => PseudoMetricSpace.toUniformSpace.{u3} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β i) (_inst_5 i))))) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (forall (i : ι), β i) (Pi.topologicalSpace.{u2, u3} ι (fun (i : ι) => β i) (fun (a : ι) => UniformSpace.toTopologicalSpace.{u3} (β a) (PseudoMetricSpace.toUniformSpace.{u3} (β a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β a) (_inst_5 a))))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (a : ι) => _inst_5 a)) (PiLp.normedSpace.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (a : ι) => _inst_5 a) (fun (i : ι) => _inst_6 i))) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
-but is expected to have type
-  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], ContinuousLinearEquiv.{u1, u1, max u3 u2, max u2 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u3} p ι β) (UniformSpace.toTopologicalSpace.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.uniformSpace.{u2, u3} p ι β (fun (i : ι) => PseudoMetricSpace.toUniformSpace.{u3} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β i) (_inst_5 i))))) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (forall (i : ι), β i) (Pi.topologicalSpace.{u2, u3} ι (fun (i : ι) => β i) (fun (a : ι) => UniformSpace.toTopologicalSpace.{u3} (β a) (PseudoMetricSpace.toUniformSpace.{u3} (β a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β a) (_inst_5 a))))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (PiLp.module.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquivₓ'. -/
 /-- `pi_Lp.equiv` as a continuous linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i
@@ -1338,53 +942,32 @@ section Basis
 
 variable (ι)
 
-/- warning: pi_Lp.basis_fun -> PiLp.basisFun is a dubious translation:
-lean 3 declaration is
-  forall (p : ENNReal) (𝕜 : Type.{u1}) (ι : Type.{u2}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜], Basis.{u2, u1, max u2 u1} ι 𝕜 (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (PiLp.seminormedAddCommGroup.{u2, u1} p ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 (fun (i : ι) => (fun (i : ι) => NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} ((fun (_x : ι) => 𝕜) i) (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedRing.toNonUnitalNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedCommRing.toNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedField.toNormedCommRing.{u1} ((fun (_x : ι) => 𝕜) i) _inst_3))))) i)))) (NormedSpace.toModule.{u1, max u2 u1} 𝕜 (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u1} p ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 (fun (i : ι) => (fun (i : ι) => NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} ((fun (_x : ι) => 𝕜) i) (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedRing.toNonUnitalNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedCommRing.toNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedField.toNormedCommRing.{u1} ((fun (_x : ι) => 𝕜) i) _inst_3))))) i)) (PiLp.normedSpace.{u1, u2, u1} p 𝕜 ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 _inst_3 (fun (i : ι) => (fun (i : ι) => NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} ((fun (_x : ι) => 𝕜) i) (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedRing.toNonUnitalNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedCommRing.toNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedField.toNormedCommRing.{u1} ((fun (_x : ι) => 𝕜) i) _inst_3))))) i) (fun (i : ι) => (fun (i : ι) => NormedField.toNormedSpace.{u1} 𝕜 _inst_3) i)))
-but is expected to have type
-  forall (p : ENNReal) (𝕜 : Type.{u1}) (ι : Type.{u2}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜], Basis.{u2, u1, max u1 u2} ι 𝕜 (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (NormedAddCommGroup.toAddCommGroup.{max u1 u2} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (PiLp.normedAddCommGroup.{u2, u1} p ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 (fun (i : ι) => NonUnitalNormedRing.toNormedAddCommGroup.{u1} 𝕜 (NormedRing.toNonUnitalNormedRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3))))))) (PiLp.module.{u1, u2, u1} p 𝕜 ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12725 : ι) => 𝕜) _inst_1 _inst_2 _inst_3 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u1} ((fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12725 : ι) => 𝕜) i) ((fun (i : ι) => NonUnitalNormedRing.toNormedAddCommGroup.{u1} 𝕜 (NormedRing.toNonUnitalNormedRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) i)) (fun (i : ι) => NormedField.toNormedSpace.{u1} 𝕜 _inst_3))
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun PiLp.basisFunₓ'. -/
 /-- A version of `pi.basis_fun` for `pi_Lp`. -/
 def basisFun : Basis ι 𝕜 (PiLp p fun _ => 𝕜) :=
   Basis.ofEquivFun (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜)
 #align pi_Lp.basis_fun PiLp.basisFun
 
-/- warning: pi_Lp.basis_fun_apply -> PiLp.basisFun_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_apply PiLp.basisFun_applyₓ'. -/
 @[simp]
 theorem basisFun_apply [DecidableEq ι] (i) :
     basisFun p 𝕜 ι i = (PiLp.equiv p _).symm (Pi.single i 1) := by
   simp_rw [basis_fun, Basis.coe_ofEquivFun, PiLp.linearEquiv_symm_apply, Pi.single]
 #align pi_Lp.basis_fun_apply PiLp.basisFun_apply
 
-/- warning: pi_Lp.basis_fun_repr -> PiLp.basisFun_repr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_repr PiLp.basisFun_reprₓ'. -/
 @[simp]
 theorem basisFun_repr (x : PiLp p fun i : ι => 𝕜) (i : ι) : (basisFun p 𝕜 ι).repr x i = x i :=
   rfl
 #align pi_Lp.basis_fun_repr PiLp.basisFun_repr
 
-/- warning: pi_Lp.basis_fun_equiv_fun -> PiLp.basisFun_equivFun is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFunₓ'. -/
 @[simp]
 theorem basisFun_equivFun : (basisFun p 𝕜 ι).equivFun = PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜 :=
   Basis.equivFun_ofEquivFun _
 #align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFun
 
-/- warning: pi_Lp.basis_fun_eq_pi_basis_fun -> PiLp.basisFun_eq_pi_basisFun is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_eq_pi_basis_fun PiLp.basisFun_eq_pi_basisFunₓ'. -/
 theorem basisFun_eq_pi_basisFun :
     basisFun p 𝕜 ι = (Pi.basisFun 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜).symm :=
   rfl
 #align pi_Lp.basis_fun_eq_pi_basis_fun PiLp.basisFun_eq_pi_basisFun
 
-/- warning: pi_Lp.basis_fun_map -> PiLp.basisFun_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_map PiLp.basisFun_mapₓ'. -/
 @[simp]
 theorem basisFun_map :
     (basisFun p 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜) = Pi.basisFun 𝕜 ι :=
@@ -1393,9 +976,6 @@ theorem basisFun_map :
 
 open Matrix
 
-/- warning: pi_Lp.basis_to_matrix_basis_fun_mul -> PiLp.basis_toMatrix_basisFun_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mulₓ'. -/
 theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 𝕜)) (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) ⬝ A =
       Matrix.of fun i j => b.repr ((PiLp.equiv _ _).symm (Aᵀ j)) i :=
Diff
@@ -182,9 +182,7 @@ lean 3 declaration is
 but is expected to have type
   forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.instEDistPiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) ι (fun (i : ι) => EDist.edist.{u1} (β i) (_inst_2 i) (f i) (g i)))
 Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_supr PiLp.edist_eq_iSupₓ'. -/
-theorem edist_eq_iSup (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) :=
-  by
-  dsimp [edist]
+theorem edist_eq_iSup (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) := by dsimp [edist];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.edist_eq_supr PiLp.edist_eq_iSup
 
@@ -275,9 +273,7 @@ lean 3 declaration is
 but is expected to have type
   forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (PiLp.instDistPiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u2} Real Real.instSupSetReal ι (fun (i : ι) => Dist.dist.{u1} (α i) (_inst_2 i) (f i) (g i)))
 Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSupₓ'. -/
-theorem dist_eq_iSup (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) :=
-  by
-  dsimp [dist]
+theorem dist_eq_iSup (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) := by dsimp [dist];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSup
 
@@ -319,9 +315,7 @@ lean 3 declaration is
 but is expected to have type
   forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.hasNorm.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (iSup.{0, succ u2} Real Real.instSupSetReal ι (fun (i : ι) => Norm.norm.{u1} (β i) (_inst_2 i) (f i)))
 Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSupₓ'. -/
-theorem norm_eq_ciSup (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ :=
-  by
-  dsimp [norm]
+theorem norm_eq_ciSup (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ := by dsimp [norm];
   exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSup
 
@@ -459,8 +453,7 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
           · refine' ENNReal.toReal_le_of_le_ofReal (Real.sSup_nonneg _ _) (iSup_le fun i => _)
             · rintro - ⟨i, rfl⟩
               exact dist_nonneg
-            · unfold edist
-              rw [PseudoMetricSpace.edist_dist]
+            · unfold edist; rw [PseudoMetricSpace.edist_dist]
               exact ENNReal.ofReal_le_ofReal (le_ciSup (Fintype.bddAbove_range _) i)
     · have A : ∀ i, edist (f i) (g i) ^ p.to_real ≠ ⊤ := fun i =>
         ENNReal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)
@@ -647,9 +640,7 @@ Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_sum Pi
 theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
     nndist x y = (∑ i : ι, nndist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) :=
-  Subtype.ext <| by
-    push_cast
-    exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
+  Subtype.ext <| by push_cast ; exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
 
 /- warning: pi_Lp.nndist_eq_supr -> PiLp.nndist_eq_iSup is a dubious translation:
@@ -660,9 +651,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSupₓ'. -/
 theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
-  Subtype.ext <| by
-    push_cast
-    exact dist_eq_csupr _ _
+  Subtype.ext <| by push_cast ; exact dist_eq_csupr _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
 
 /- warning: pi_Lp.lipschitz_with_equiv -> PiLp.lipschitzWith_equiv is a dubious translation:
@@ -712,10 +701,7 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
     dist_eq := fun x y => by
       rcases p.dichotomy with (rfl | h)
       · simpa only [dist_eq_csupr, norm_eq_csupr, dist_eq_norm]
-      · have : p ≠ ∞ := by
-          intro hp
-          rw [hp, ENNReal.top_toReal] at h
-          linarith
+      · have : p ≠ ∞ := by intro hp; rw [hp, ENNReal.top_toReal] at h; linarith
         simpa only [dist_eq_sum (zero_lt_one.trans_le h), norm_eq_sum (zero_lt_one.trans_le h),
           dist_eq_norm] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
@@ -739,9 +725,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sumₓ'. -/
 theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp : p ≠ ∞)
     [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp p β) :
-    ‖f‖₊ = (∑ i, ‖f i‖₊ ^ p.toReal) ^ (1 / p.toReal) :=
-  by
-  ext
+    ‖f‖₊ = (∑ i, ‖f i‖₊ ^ p.toReal) ^ (1 / p.toReal) := by ext;
   simp [NNReal.coe_sum, norm_eq_sum (p.to_real_pos_iff_ne_top.mpr hp)]
 #align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sum
 
@@ -752,9 +736,7 @@ but is expected to have type
   forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.seminormedAddCommGroup.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i)))) f) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toSupSet.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.instConditionallyCompleteLinearOrderBotNNReal))) ι (fun (i : ι) => NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i))) (f i)))
 Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSupₓ'. -/
 theorem nnnorm_eq_ciSup {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
-    ‖f‖₊ = ⨆ i, ‖f i‖₊ := by
-  ext
-  simp [NNReal.coe_iSup, norm_eq_csupr]
+    ‖f‖₊ = ⨆ i, ‖f i‖₊ := by ext; simp [NNReal.coe_iSup, norm_eq_csupr]
 #align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSup
 
 /- warning: pi_Lp.norm_eq_of_nat -> PiLp.norm_eq_of_nat is a dubious translation:
@@ -779,11 +761,8 @@ but is expected to have type
   forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_3 i)))))))) x) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))
 Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2ₓ'. -/
 theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
-    ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) :=
-  by
-  convert norm_eq_of_nat 2 (by norm_cast) _
-  rw [sqrt_eq_rpow]
-  norm_cast
+    ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) := by convert norm_eq_of_nat 2 (by norm_cast) _;
+  rw [sqrt_eq_rpow]; norm_cast
 #align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2
 
 /- warning: pi_Lp.nnnorm_eq_of_L2 -> PiLp.nnnorm_eq_of_L2 is a dubious translation:
@@ -791,9 +770,7 @@ theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)
 Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2ₓ'. -/
 theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖₊ = NNReal.sqrt (∑ i : ι, ‖x i‖₊ ^ 2) :=
-  Subtype.ext <| by
-    push_cast
-    exact norm_eq_of_L2 x
+  Subtype.ext <| by push_cast ; exact norm_eq_of_L2 x
 #align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2
 
 /- warning: pi_Lp.norm_sq_eq_of_L2 -> PiLp.norm_sq_eq_of_L2 is a dubious translation:
@@ -826,9 +803,7 @@ theorem dist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)
 Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2ₓ'. -/
 theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     nndist x y = (∑ i, nndist (x i) (y i) ^ 2).sqrt :=
-  Subtype.ext <| by
-    push_cast
-    exact dist_eq_of_L2 _ _
+  Subtype.ext <| by push_cast ; exact dist_eq_of_L2 _ _
 #align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2
 
 /- warning: pi_Lp.edist_eq_of_L2 -> PiLp.edist_eq_of_L2 is a dubious translation:
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 13bce9a6b6c44f6b4c91ac1c1d2a816e2533d395
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.Matrix.Basis
 
 /-!
 # `L^p` distance on finite products of metric spaces
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 Given finitely many metric spaces, one can put the max distance on their product, but there is also
 a whole family of natural distances, indexed by a parameter `p : ℝ≥0∞`, that also induce
 the product topology. We define them in this file. For `0 < p < ∞`, the distance on `Π i, α i`
@@ -71,6 +74,7 @@ open BigOperators uniformity Topology NNReal ENNReal
 
 noncomputable section
 
+#print PiLp /-
 /-- A copy of a Pi type, on which we will put the `L^p` distance. Since the Pi type itself is
 already endowed with the `L^∞` distance, we need the type synonym to avoid confusing typeclass
 resolution. Also, we let it depend on `p`, to get a whole family of type on which we can put
@@ -79,6 +83,7 @@ different distances. -/
 def PiLp (p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) : Type _ :=
   ∀ i : ι, α i
 #align pi_Lp PiLp
+-/
 
 instance (p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
   ⟨fun i => default⟩
@@ -87,25 +92,35 @@ namespace PiLp
 
 variable (p : ℝ≥0∞) (𝕜 𝕜' : Type _) {ι : Type _} (α : ι → Type _) (β : ι → Type _)
 
+#print PiLp.equiv /-
 /-- Canonical bijection between `pi_Lp p α` and the original Pi type. We introduce it to be able
 to compare the `L^p` and `L^∞` distances through it. -/
 protected def equiv : PiLp p α ≃ ∀ i : ι, α i :=
   Equiv.refl _
 #align pi_Lp.equiv PiLp.equiv
+-/
 
 /-! Note that the unapplied versions of these lemmas are deliberately omitted, as they break
 the use of the type synonym. -/
 
 
+/- warning: pi_Lp.equiv_apply -> PiLp.equiv_apply is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) (x : PiLp.{u1, u2} p ι α) (i : ι), Eq.{succ u2} (α i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι α) (forall (i : ι), α i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι α) (forall (i : ι), α i)) => (PiLp.{u1, u2} p ι α) -> (forall (i : ι), α i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι α) (forall (i : ι), α i)) (PiLp.equiv.{u1, u2} p ι α) x i) (x i)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (α : ι -> Type.{u1}) (x : PiLp.{u2, u1} p ι α) (i : ι), Eq.{succ u1} (α i) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι α) (forall (i : ι), α i)) (PiLp.{u2, u1} p ι α) (fun (_x : PiLp.{u2, u1} p ι α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι α) => forall (i : ι), α i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι α) (forall (i : ι), α i)) (PiLp.equiv.{u2, u1} p ι α) x i) (x i)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_apply PiLp.equiv_applyₓ'. -/
 @[simp]
 theorem equiv_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
   rfl
 #align pi_Lp.equiv_apply PiLp.equiv_apply
 
+#print PiLp.equiv_symm_apply /-
 @[simp]
 theorem equiv_symm_apply (x : ∀ i, α i) (i : ι) : (PiLp.equiv p α).symm x i = x i :=
   rfl
 #align pi_Lp.equiv_symm_apply PiLp.equiv_symm_apply
+-/
 
 section DistNorm
 
@@ -139,16 +154,34 @@ instance : EDist (PiLp p β)
 
 variable {β}
 
+/- warning: pi_Lp.edist_eq_card -> PiLp.edist_eq_card is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), EDist.{u2} (β i)] (f : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β) (g : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β) (PiLp.hasEdist.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat ENNReal (HasLiftT.mk.{1, 1} Nat ENNReal (CoeTCₓ.coe.{1, 1} Nat ENNReal (Nat.castCoe.{0} ENNReal (AddMonoidWithOne.toNatCast.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) (Finset.card.{u1} ι (Set.Finite.toFinset.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (g i))) (Set.toFinite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (g i))) (Subtype.finite.{succ u1} ι (Finite.of_fintype.{u1} ι _inst_1) (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (g i)))))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] (f : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β) (g : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β) (PiLp.instEDistPiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (Nat.cast.{0} ENNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (Finset.card.{u2} ι (Set.Finite.toFinset.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (g i))) (Set.toFinite.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (g i))) (Subtype.finite.{succ u2} ι (Finite.of_fintype.{u2} ι _inst_1) (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (g i)))))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_card PiLp.edist_eq_cardₓ'. -/
 theorem edist_eq_card (f g : PiLp 0 β) : edist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.edist_eq_card PiLp.edist_eq_card
 
+/- warning: pi_Lp.edist_eq_sum -> PiLp.edist_eq_sum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), EDist.{u2} (β i)] {p : ENNReal}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (ENNReal.toReal p)) -> (forall (f : PiLp.{u1, u2} p ι β) (g : PiLp.{u1, u2} p ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.Real.hasPow) (Finset.sum.{0, u1} ENNReal ι (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.Real.hasPow) (EDist.edist.{u2} (β i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
+but is expected to have type
+  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] {p : ENNReal}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (ENNReal.toReal p)) -> (forall (f : PiLp.{u2, u1} p ι β) (g : PiLp.{u2, u1} p ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.instPowENNRealReal) (Finset.sum.{0, u2} ENNReal ι (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Finset.univ.{u2} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.instPowENNRealReal) (EDist.edist.{u1} (β i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_sum PiLp.edist_eq_sumₓ'. -/
 theorem edist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p β) :
     edist f g = (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.edist_eq_sum PiLp.edist_eq_sum
 
+/- warning: pi_Lp.edist_eq_supr -> PiLp.edist_eq_iSup is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), EDist.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (g : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.hasEdist.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι (fun (i : ι) => EDist.edist.{u2} (β i) (_inst_2 i) (f i) (g i)))
+but is expected to have type
+  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), EDist.{u1} (β i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.instEDistPiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) ι (fun (i : ι) => EDist.edist.{u1} (β i) (_inst_2 i) (f i) (g i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_supr PiLp.edist_eq_iSupₓ'. -/
 theorem edist_eq_iSup (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) :=
   by
   dsimp [edist]
@@ -161,6 +194,12 @@ section EdistProp
 
 variable {β} [∀ i, PseudoEMetricSpace (β i)]
 
+/- warning: pi_Lp.edist_self -> PiLp.edist_self is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] (f : PiLp.{u1, u2} p ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toHasEdist.{u2} (β i) (_inst_2 i))) f f) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] (f : PiLp.{u2, u1} p ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (_inst_2 i))) f f) (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_self PiLp.edist_selfₓ'. -/
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
@@ -171,6 +210,12 @@ protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
   · simp [edist_eq_sum h, ENNReal.zero_rpow_of_pos h, ENNReal.zero_rpow_of_pos (inv_pos.2 <| h)]
 #align pi_Lp.edist_self PiLp.edist_self
 
+/- warning: pi_Lp.edist_comm -> PiLp.edist_comm is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] (f : PiLp.{u1, u2} p ι β) (g : PiLp.{u1, u2} p ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toHasEdist.{u2} (β i) (_inst_2 i))) f g) (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toHasEdist.{u2} (β i) (_inst_2 i))) g f)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] (f : PiLp.{u2, u1} p ι β) (g : PiLp.{u2, u1} p ι β), Eq.{1} ENNReal (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (_inst_2 i))) f g) (EDist.edist.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (_inst_2 i))) g f)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_comm PiLp.edist_commₓ'. -/
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_comm (f g : PiLp p β) : edist f g = edist g f :=
@@ -202,21 +247,39 @@ instance : Dist (PiLp p α)
 
 variable {α}
 
+/- warning: pi_Lp.dist_eq_card -> PiLp.dist_eq_card is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Dist.{u2} (α i)] (f : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α) (g : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α) (PiLp.hasDist.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Finset.card.{u1} ι (Set.Finite.toFinset.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (α i) (f i) (g i))) (Set.toFinite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (α i) (f i) (g i))) (Subtype.finite.{succ u1} ι (Finite.of_fintype.{u1} ι _inst_1) (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (α i) (f i) (g i)))))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] (f : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α) (g : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α) (PiLp.instDistPiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (Nat.cast.{0} Real Real.natCast (Finset.card.{u2} ι (Set.Finite.toFinset.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (α i) (f i) (g i))) (Set.toFinite.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (α i) (f i) (g i))) (Subtype.finite.{succ u2} ι (Finite.of_fintype.{u2} ι _inst_1) (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (α i) (f i) (g i)))))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_card PiLp.dist_eq_cardₓ'. -/
 theorem dist_eq_card (f g : PiLp 0 α) : dist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.dist_eq_card PiLp.dist_eq_card
 
+/- warning: pi_Lp.dist_eq_sum -> PiLp.dist_eq_sum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Dist.{u2} (α i)] {p : ENNReal}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (ENNReal.toReal p)) -> (forall (f : PiLp.{u1, u2} p ι α) (g : PiLp.{u1, u2} p ι α), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} p ι α) (PiLp.hasDist.{u1, u2} p ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Dist.dist.{u2} (α i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
+but is expected to have type
+  forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] {p : ENNReal}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (ENNReal.toReal p)) -> (forall (f : PiLp.{u2, u1} p ι α) (g : PiLp.{u2, u1} p ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} p ι α) (PiLp.instDistPiLp.{u2, u1} p ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Finset.sum.{0, u2} Real ι Real.instAddCommMonoidReal (Finset.univ.{u2} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Dist.dist.{u1} (α i) (_inst_2 i) (f i) (g i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_sum PiLp.dist_eq_sumₓ'. -/
 theorem dist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p α) :
     dist f g = (∑ i, dist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.dist_eq_sum PiLp.dist_eq_sum
 
-theorem dist_eq_csupr (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) :=
+/- warning: pi_Lp.dist_eq_csupr -> PiLp.dist_eq_iSup is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Dist.{u2} (α i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α) (g : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α) (PiLp.hasDist.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u1} Real Real.hasSup ι (fun (i : ι) => Dist.dist.{u2} (α i) (_inst_2 i) (f i) (g i)))
+but is expected to have type
+  forall {ι : Type.{u2}} {α : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Dist.{u1} (α i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α), Eq.{1} Real (Dist.dist.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (PiLp.instDistPiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α _inst_1 (fun (i : ι) => _inst_2 i)) f g) (iSup.{0, succ u2} Real Real.instSupSetReal ι (fun (i : ι) => Dist.dist.{u1} (α i) (_inst_2 i) (f i) (g i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSupₓ'. -/
+theorem dist_eq_iSup (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) :=
   by
   dsimp [dist]
   exact if_neg ENNReal.top_ne_zero
-#align pi_Lp.dist_eq_csupr PiLp.dist_eq_csupr
+#align pi_Lp.dist_eq_csupr PiLp.dist_eq_iSup
 
 end Dist
 
@@ -224,6 +287,7 @@ section Norm
 
 variable [∀ i, Norm (β i)] [∀ i, Zero (β i)]
 
+#print PiLp.hasNorm /-
 /-- Endowing the space `pi_Lp p β` with the `L^p` norm. We register this instance
 separate from `pi_Lp.seminormed_add_comm_group` since the latter requires the type class hypothesis
 `[fact (1 ≤ p)]` in order to prove the triangle inequality.
@@ -235,19 +299,38 @@ instance hasNorm : Norm (PiLp p β)
     if hp : p = 0 then { i | f i ≠ 0 }.toFinite.toFinset.card
     else if p = ∞ then ⨆ i, ‖f i‖ else (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal)
 #align pi_Lp.has_norm PiLp.hasNorm
+-/
 
 variable {p β}
 
+/- warning: pi_Lp.norm_eq_card -> PiLp.norm_eq_card is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Norm.{u2} (β i)] [_inst_3 : forall (i : ι), Zero.{u2} (β i)] (f : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Finset.card.{u1} ι (Set.Finite.toFinset.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (_inst_3 i)))))) (Set.toFinite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (_inst_3 i)))))) (Subtype.finite.{succ u1} ι (Finite.of_fintype.{u1} ι _inst_1) (fun (x : ι) => Membership.Mem.{u1, u1} ι (Set.{u1} ι) (Set.hasMem.{u1} ι) x (setOf.{u1} ι (fun (i : ι) => Ne.{succ u2} (β i) (f i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (_inst_3 i))))))))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)] (f : PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β) (PiLp.hasNorm.{u2, u1} (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero)) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (Nat.cast.{0} Real Real.natCast (Finset.card.{u2} ι (Set.Finite.toFinset.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (OfNat.ofNat.{u1} (β i) 0 (Zero.toOfNat0.{u1} (β i) (_inst_3 i))))) (Set.toFinite.{u2} ι (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (OfNat.ofNat.{u1} (β i) 0 (Zero.toOfNat0.{u1} (β i) (_inst_3 i))))) (Subtype.finite.{succ u2} ι (Finite.of_fintype.{u2} ι _inst_1) (fun (x : ι) => Membership.mem.{u2, u2} ι (Set.{u2} ι) (Set.instMembershipSet.{u2} ι) x (setOf.{u2} ι (fun (i : ι) => Ne.{succ u1} (β i) (f i) (OfNat.ofNat.{u1} (β i) 0 (Zero.toOfNat0.{u1} (β i) (_inst_3 i)))))))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_card PiLp.norm_eq_cardₓ'. -/
 theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = { i | f i ≠ 0 }.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.norm_eq_card PiLp.norm_eq_card
 
-theorem norm_eq_csupr (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ :=
+/- warning: pi_Lp.norm_eq_csupr -> PiLp.norm_eq_ciSup is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Norm.{u2} (β i)] [_inst_3 : forall (i : ι), Zero.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.hasNorm.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (iSup.{0, succ u1} Real Real.hasSup ι (fun (i : ι) => Norm.norm.{u2} (β i) (_inst_2 i) (f i)))
+but is expected to have type
+  forall {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.hasNorm.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (iSup.{0, succ u2} Real Real.instSupSetReal ι (fun (i : ι) => Norm.norm.{u1} (β i) (_inst_2 i) (f i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSupₓ'. -/
+theorem norm_eq_ciSup (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ :=
   by
   dsimp [norm]
   exact if_neg ENNReal.top_ne_zero
-#align pi_Lp.norm_eq_csupr PiLp.norm_eq_csupr
-
+#align pi_Lp.norm_eq_csupr PiLp.norm_eq_ciSup
+
+/- warning: pi_Lp.norm_eq_sum -> PiLp.norm_eq_sum is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} {β : ι -> Type.{u2}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : forall (i : ι), Norm.{u2} (β i)] [_inst_3 : forall (i : ι), Zero.{u2} (β i)], (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (ENNReal.toReal p)) -> (forall (f : PiLp.{u1, u2} p ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Norm.norm.{u2} (β i) (_inst_2 i) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} {β : ι -> Type.{u1}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), Norm.{u1} (β i)] [_inst_3 : forall (i : ι), Zero.{u1} (β i)], (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (ENNReal.toReal p)) -> (forall (f : PiLp.{u2, u1} p ι β), Eq.{1} Real (Norm.norm.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.hasNorm.{u2, u1} p ι β _inst_1 (fun (i : ι) => _inst_2 i) (fun (i : ι) => _inst_3 i)) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Finset.sum.{0, u2} Real ι Real.instAddCommMonoidReal (Finset.univ.{u2} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Norm.norm.{u1} (β i) (_inst_2 i) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_sum PiLp.norm_eq_sumₓ'. -/
 theorem norm_eq_sum (hp : 0 < p.toReal) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal) :=
   let hp' := ENNReal.toReal_pos_iff.mp hp
@@ -279,6 +362,12 @@ variable [Fact (1 ≤ p)] [∀ i, PseudoMetricSpace (α i)] [∀ i, PseudoEMetri
 
 variable [Fintype ι]
 
+/- warning: pi_Lp.pseudo_emetric_aux -> PiLp.pseudoEmetricAux is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], PseudoEMetricSpace.{max u1 u2} (PiLp.{u1, u2} p ι β)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], PseudoEMetricSpace.{max u2 u1} (PiLp.{u1, u2} p ι β)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.pseudo_emetric_aux PiLp.pseudoEmetricAuxₓ'. -/
 /-- Endowing the space `pi_Lp p β` with the `L^p` pseudoemetric structure. This definition is not
 satisfactory, as it does not register the fact that the topology and the uniform structure coincide
 with the product one. Therefore, we do not register it as an instance. Using this as a temporary
@@ -313,6 +402,12 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β)
 
 attribute [local instance] PiLp.pseudoEmetricAux
 
+/- warning: pi_Lp.supr_edist_ne_top_aux -> PiLp.iSup_edist_ne_top_aux is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_5 : Finite.{succ u1} ι] {α : ι -> Type.{u2}} [_inst_6 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α) (g : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι α), Ne.{1} ENNReal (iSup.{0, succ u1} ENNReal (ConditionallyCompleteLattice.toHasSup.{0} ENNReal (CompleteLattice.toConditionallyCompleteLattice.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι (fun (i : ι) => EDist.edist.{u2} (α i) (PseudoMetricSpace.toEDist.{u2} (α i) (_inst_6 i)) (f i) (g i))) (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))
+but is expected to have type
+  forall {ι : Type.{u2}} [_inst_5 : Finite.{succ u2} ι] {α : ι -> Type.{u1}} [_inst_6 : forall (i : ι), PseudoMetricSpace.{u1} (α i)] (f : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α) (g : PiLp.{u2, u1} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι α), Ne.{1} ENNReal (iSup.{0, succ u2} ENNReal (ConditionallyCompleteLattice.toSupSet.{0} ENNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} ENNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} ENNReal (CompleteLinearOrder.toConditionallyCompleteLinearOrderBot.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) ι (fun (i : ι) => EDist.edist.{u1} (α i) (PseudoEMetricSpace.toEDist.{u1} (α i) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} (α i) (_inst_6 i))) (f i) (g i))) (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_auxₓ'. -/
 /-- An auxiliary lemma used twice in the proof of `pi_Lp.pseudo_metric_aux` below. Not intended for
 use outside this file. -/
 theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
@@ -325,6 +420,12 @@ theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
   exact_mod_cast hM i
 #align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_aux
 
+/- warning: pi_Lp.pseudo_metric_aux -> PiLp.pseudoMetricAux is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] [_inst_4 : Fintype.{u1} ι], PseudoMetricSpace.{max u1 u2} (PiLp.{u1, u2} p ι α)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] [_inst_4 : Fintype.{u1} ι], PseudoMetricSpace.{max u2 u1} (PiLp.{u1, u2} p ι α)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.pseudo_metric_aux PiLp.pseudoMetricAuxₓ'. -/
 /-- Endowing the space `pi_Lp p α` with the `L^p` pseudometric structure. This definition is not
 satisfactory, as it does not register the fact that the topology, the uniform structure, and the
 bornology coincide with the product ones. Therefore, we do not register it as an instance. Using
@@ -369,6 +470,12 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
 
 attribute [local instance] PiLp.pseudoMetricAux
 
+/- warning: pi_Lp.lipschitz_with_equiv_aux -> PiLp.lipschitzWith_equiv_aux is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], LipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u1, u2} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (OfNat.mk.{0} NNReal 1 (One.one.{0} NNReal (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] [_inst_4 : Fintype.{u2} ι], LipschitzWith.{max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u2, u1} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u2, u1} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_auxₓ'. -/
 theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
   by
   intro x y
@@ -391,6 +498,12 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
       
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
 
+/- warning: pi_Lp.antilipschitz_with_equiv_aux -> PiLp.antilipschitzWith_equiv_aux is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], AntilipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u1, u2} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_4)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] [_inst_4 : Fintype.{u2} ι], AntilipschitzWith.{max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricAux.{u2, u1} p ι β _inst_1 (fun (b : ι) => _inst_3 b) _inst_4) (pseudoEMetricSpacePi.{u2, u1} ι (fun (i : ι) => β i) _inst_4 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u2} ι _inst_4)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_auxₓ'. -/
 theorem antilipschitzWith_equiv_aux :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   by
@@ -424,6 +537,12 @@ theorem antilipschitzWith_equiv_aux :
       
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 
+/- warning: pi_Lp.aux_uniformity_eq -> PiLp.aux_uniformity_eq is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)] [_inst_4 : Fintype.{u1} ι], Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (Prod.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β))) (uniformity.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoEMetricSpace.toUniformSpace.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.pseudoEmetricAux.{u1, u2} p ι β _inst_1 (fun (i : ι) => _inst_3 i) _inst_4))) (uniformity.{max u1 u2} (forall (i : ι), β i) (Pi.uniformSpace.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => PseudoEMetricSpace.toUniformSpace.{u2} (β i) (_inst_3 i))))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u1} (β i)] [_inst_4 : Fintype.{u2} ι], Eq.{max (succ u2) (succ u1)} (Filter.{max u1 u2} (Prod.{max u1 u2, max u1 u2} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β))) (uniformity.{max u1 u2} (PiLp.{u2, u1} p ι β) (PseudoEMetricSpace.toUniformSpace.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.pseudoEmetricAux.{u2, u1} p ι β _inst_1 (fun (i : ι) => _inst_3 i) _inst_4))) (uniformity.{max u2 u1} (forall (i : ι), β i) (Pi.uniformSpace.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => PseudoEMetricSpace.toUniformSpace.{u1} (β i) (_inst_3 i))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.aux_uniformity_eq PiLp.aux_uniformity_eqₓ'. -/
 theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
   by
   have A : UniformInducing (PiLp.equiv p β) :=
@@ -434,7 +553,13 @@ theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] :=
   rw [← A.comap_uniformity, this, comap_id]
 #align pi_Lp.aux_uniformity_eq PiLp.aux_uniformity_eq
 
-theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.bornology :=
+/- warning: pi_Lp.aux_cobounded_eq -> PiLp.aux_cobounded_eq is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u2} (α i)] [_inst_4 : Fintype.{u1} ι], Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (PiLp.{u1, u2} p ι α)) (Bornology.cobounded.{max u1 u2} (PiLp.{u1, u2} p ι α) (PseudoMetricSpace.toBornology.{max u1 u2} (PiLp.{u1, u2} p ι α) (PiLp.pseudoMetricAux.{u1, u2} p ι α _inst_1 (fun (i : ι) => _inst_2 i) _inst_4))) (Bornology.cobounded.{max u1 u2} (forall (i : ι), α i) (Pi.instBornology.{u1, u2} ι (fun (i : ι) => α i) _inst_4 (fun (i : ι) => PseudoMetricSpace.toBornology.{u2} (α i) (_inst_2 i))))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (α : ι -> Type.{u1}) [_inst_1 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_2 : forall (i : ι), PseudoMetricSpace.{u1} (α i)] [_inst_4 : Fintype.{u2} ι], Eq.{max (succ u2) (succ u1)} (Filter.{max u1 u2} (PiLp.{u2, u1} p ι α)) (Bornology.cobounded.{max u1 u2} (PiLp.{u2, u1} p ι α) (PseudoMetricSpace.toBornology.{max u2 u1} (PiLp.{u2, u1} p ι α) (PiLp.pseudoMetricAux.{u2, u1} p ι α _inst_1 (fun (i : ι) => _inst_2 i) _inst_4))) (Bornology.cobounded.{max u1 u2} (forall (i : ι), α i) (Pi.instBornology.{u2, u1} ι (fun (i : ι) => α i) _inst_4 (fun (i : ι) => PseudoMetricSpace.toBornology.{u1} (α i) (_inst_2 i))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.aux_cobounded_eq PiLp.aux_cobounded_eqₓ'. -/
+theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.instBornology :=
   calc
     cobounded (PiLp p α) = comap (PiLp.equiv p α) (cobounded _) :=
       le_antisymm (antilipschitzWith_equiv_aux p α).tendsto_cobounded.le_comap
@@ -448,34 +573,46 @@ end Aux
 /-! ### Instances on finite `L^p` products -/
 
 
+#print PiLp.uniformSpace /-
 instance uniformSpace [∀ i, UniformSpace (β i)] : UniformSpace (PiLp p β) :=
   Pi.uniformSpace _
 #align pi_Lp.uniform_space PiLp.uniformSpace
+-/
 
+#print PiLp.uniformContinuous_equiv /-
 theorem uniformContinuous_equiv [∀ i, UniformSpace (β i)] : UniformContinuous (PiLp.equiv p β) :=
   uniformContinuous_id
 #align pi_Lp.uniform_continuous_equiv PiLp.uniformContinuous_equiv
+-/
 
+#print PiLp.uniformContinuous_equiv_symm /-
 theorem uniformContinuous_equiv_symm [∀ i, UniformSpace (β i)] :
     UniformContinuous (PiLp.equiv p β).symm :=
   uniformContinuous_id
 #align pi_Lp.uniform_continuous_equiv_symm PiLp.uniformContinuous_equiv_symm
+-/
 
+#print PiLp.continuous_equiv /-
 @[continuity]
 theorem continuous_equiv [∀ i, UniformSpace (β i)] : Continuous (PiLp.equiv p β) :=
   continuous_id
 #align pi_Lp.continuous_equiv PiLp.continuous_equiv
+-/
 
+#print PiLp.continuous_equiv_symm /-
 @[continuity]
 theorem continuous_equiv_symm [∀ i, UniformSpace (β i)] : Continuous (PiLp.equiv p β).symm :=
   continuous_id
 #align pi_Lp.continuous_equiv_symm PiLp.continuous_equiv_symm
+-/
 
 variable [Fintype ι]
 
+#print PiLp.bornology /-
 instance bornology [∀ i, Bornology (β i)] : Bornology (PiLp p β) :=
-  Pi.bornology
+  Pi.instBornology
 #align pi_Lp.bornology PiLp.bornology
+-/
 
 -- throughout the rest of the file, we assume `1 ≤ p`
 variable [Fact (1 ≤ p)]
@@ -488,7 +625,7 @@ instance [∀ i, PseudoEMetricSpace (β i)] : PseudoEMetricSpace (PiLp p β) :=
 /-- emetric space instance on the product of finitely many emetric spaces, using the `L^p`
 edistance, and having as uniformity the product uniformity. -/
 instance [∀ i, EMetricSpace (α i)] : EMetricSpace (PiLp p α) :=
-  @EMetricSpace.ofT0PseudoEMetricSpace (PiLp p α) _ Pi.t0Space
+  @EMetricSpace.ofT0PseudoEMetricSpace (PiLp p α) _ Pi.instT0Space
 
 /-- pseudometric space instance on the product of finitely many psuedometric spaces, using the
 `L^p` distance, and having as uniformity the product uniformity. -/
@@ -501,6 +638,12 @@ and having as uniformity the product uniformity. -/
 instance [∀ i, MetricSpace (α i)] : MetricSpace (PiLp p α) :=
   MetricSpace.ofT0PseudoMetricSpace _
 
+/- warning: pi_Lp.nndist_eq_sum -> PiLp.nndist_eq_sum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), PseudoMetricSpace.{u2} (β i)], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.pseudoMetricSpace.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i))) x y) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_4 i)) (x i) (y i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), PseudoMetricSpace.{u2} (β i)], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.instPseudoMetricSpacePiLp.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i))) x y) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal instNNRealStrictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_4 i)) (x i) (y i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sumₓ'. -/
 theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
     nndist x y = (∑ i : ι, nndist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) :=
@@ -509,6 +652,12 @@ theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [
     exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
 
+/- warning: pi_Lp.nndist_eq_supr -> PiLp.nndist_eq_iSup is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), PseudoMetricSpace.{u2} (β i)] (x : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (y : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.pseudoMetricSpace.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i))) x y) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toHasSup.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.conditionallyCompleteLinearOrderBot))) ι (fun (i : ι) => NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_3 i)) (x i) (y i)))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), PseudoMetricSpace.{u2} (β i)] (x : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (y : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.instPseudoMetricSpacePiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i))) x y) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toSupSet.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.instConditionallyCompleteLinearOrderBotNNReal))) ι (fun (i : ι) => NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (_inst_3 i)) (x i) (y i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSupₓ'. -/
 theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
   Subtype.ext <| by
@@ -516,15 +665,28 @@ theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x
     exact dist_eq_csupr _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
 
+/- warning: pi_Lp.lipschitz_with_equiv -> PiLp.lipschitzWith_equiv is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], LipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricSpace.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (OfNat.mk.{0} NNReal 1 (One.one.{0} NNReal (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], LipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.instPseudoEMetricSpacePiLp.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.{u1, u2} p ι β) (fun (_x : PiLp.{u1, u2} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u1, u2} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equivₓ'. -/
 theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
   lipschitzWith_equiv_aux p β
 #align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equiv
 
+/- warning: pi_Lp.antilipschitz_with_equiv -> PiLp.antilipschitzWith_equiv is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], AntilipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.pseudoEmetricSpace.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), PseudoEMetricSpace.{u2} (β i)], AntilipschitzWith.{max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.instPseudoEMetricSpacePiLp.{u1, u2} p ι β _inst_1 _inst_2 (fun (b : ι) => _inst_3 b)) (pseudoEMetricSpacePi.{u1, u2} ι (fun (i : ι) => β i) _inst_1 (fun (b : ι) => _inst_3 b)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.{u1, u2} p ι β) (fun (_x : PiLp.{u1, u2} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u1, u2} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.antilipschitz_with_equiv PiLp.antilipschitzWith_equivₓ'. -/
 theorem antilipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   antilipschitzWith_equiv_aux p β
 #align pi_Lp.antilipschitz_with_equiv PiLp.antilipschitzWith_equiv
 
+#print PiLp.infty_equiv_isometry /-
 theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp.equiv ∞ β) :=
   fun x y =>
   le_antisymm (by simpa only [ENNReal.coe_one, one_mul] using lipschitz_with_equiv ∞ β x y)
@@ -532,9 +694,16 @@ theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp
       simpa only [ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero, ENNReal.coe_one,
         one_mul] using antilipschitz_with_equiv ∞ β x y)
 #align pi_Lp.infty_equiv_isometry PiLp.infty_equiv_isometry
+-/
 
 variable (p β)
 
+/- warning: pi_Lp.seminormed_add_comm_group -> PiLp.seminormedAddCommGroup is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], SeminormedAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι β)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], SeminormedAddCommGroup.{max u2 u1} (PiLp.{u1, u2} p ι β)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroupₓ'. -/
 /-- seminormed group instance on the product of finitely many normed groups, using the `L^p`
 norm. -/
 instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
@@ -551,11 +720,23 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
           dist_eq_norm] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
 
+/- warning: pi_Lp.normed_add_comm_group -> PiLp.normedAddCommGroup is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : forall (i : ι), NormedAddCommGroup.{u2} (α i)], NormedAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι α)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u1}} (α : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : forall (i : ι), NormedAddCommGroup.{u2} (α i)], NormedAddCommGroup.{max u2 u1} (PiLp.{u1, u2} p ι α)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.normed_add_comm_group PiLp.normedAddCommGroupₓ'. -/
 /-- normed group instance on the product of finitely many normed groups, using the `L^p` norm. -/
 instance normedAddCommGroup [∀ i, NormedAddCommGroup (α i)] : NormedAddCommGroup (PiLp p α) :=
   { PiLp.seminormedAddCommGroup p α with }
 #align pi_Lp.normed_add_comm_group PiLp.normedAddCommGroup
 
+/- warning: pi_Lp.nnnorm_eq_sum -> PiLp.nnnorm_eq_sum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : ι -> Type.{u2}}, (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i)))) f) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) (NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_4 i))) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (ENNReal.toReal p))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : ι -> Type.{u2}}, (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} p ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_3 (fun (i : ι) => _inst_4 i)))) f) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Finset.sum.{0, u1} NNReal ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal instNNRealStrictOrderedSemiring)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_4 i))) (f i)) (ENNReal.toReal p))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (ENNReal.toReal p))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sumₓ'. -/
 theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp : p ≠ ∞)
     [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp p β) :
     ‖f‖₊ = (∑ i, ‖f i‖₊ ^ p.toReal) ^ (1 / p.toReal) :=
@@ -564,12 +745,24 @@ theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp
   simp [NNReal.coe_sum, norm_eq_sum (p.to_real_pos_iff_ne_top.mpr hp)]
 #align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sum
 
-theorem nnnorm_eq_csupr {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
+/- warning: pi_Lp.nnnorm_eq_csupr -> PiLp.nnnorm_eq_ciSup is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (PiLp.seminormedAddCommGroup.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i)))) f) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toHasSup.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.conditionallyCompleteLinearOrderBot))) ι (fun (i : ι) => NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i))) (f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (f : PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (PiLp.seminormedAddCommGroup.{u1, u2} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_3 i)))) f) (iSup.{0, succ u1} NNReal (ConditionallyCompleteLattice.toSupSet.{0} NNReal (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{0} NNReal (ConditionallyCompleteLinearOrderBot.toConditionallyCompleteLinearOrder.{0} NNReal NNReal.instConditionallyCompleteLinearOrderBotNNReal))) ι (fun (i : ι) => NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i))) (f i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSupₓ'. -/
+theorem nnnorm_eq_ciSup {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
     ‖f‖₊ = ⨆ i, ‖f i‖₊ := by
   ext
   simp [NNReal.coe_iSup, norm_eq_csupr]
-#align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_csupr
-
+#align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSup
+
+/- warning: pi_Lp.norm_eq_of_nat -> PiLp.norm_eq_of_nat is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (n : Nat), (Eq.{1} ENNReal p ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat ENNReal (HasLiftT.mk.{1, 1} Nat ENNReal (CoeTCₓ.coe.{1, 1} Nat ENNReal (Nat.castCoe.{0} ENNReal (AddMonoidWithOne.toNatCast.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) n)) -> (forall (f : PiLp.{u1, u2} p ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_4 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_4 i)))))))) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_4 i)) (f i)) n)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) n))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {p : ENNReal} [_inst_3 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : ι -> Type.{u2}} [_inst_4 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (n : Nat), (Eq.{1} ENNReal p (Nat.cast.{0} ENNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) n)) -> (forall (f : PiLp.{u1, u2} p ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_4 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_4 i)))))))) f) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.instPowReal) (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_4 i)) (f i)) n)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Nat.cast.{0} Real Real.natCast n))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_natₓ'. -/
 theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) :=
@@ -579,6 +772,12 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
+/- warning: pi_Lp.norm_eq_of_L2 -> PiLp.norm_eq_of_L2 is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i)))))))) x) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_3 i)))))))) x) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2ₓ'. -/
 theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) :=
   by
@@ -587,6 +786,9 @@ theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)
   norm_cast
 #align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2
 
+/- warning: pi_Lp.nnnorm_eq_of_L2 -> PiLp.nnnorm_eq_of_L2 is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2ₓ'. -/
 theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖₊ = NNReal.sqrt (∑ i : ι, ‖x i‖₊ ^ 2) :=
   Subtype.ext <| by
@@ -594,6 +796,12 @@ theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β
     exact norm_eq_of_L2 x
 #align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2
 
+/- warning: pi_Lp.norm_sq_eq_of_L2 -> PiLp.norm_sq_eq_of_L2 is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] (β : ι -> Type.{u2}) [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} Real (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_3 i)))))))) x) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] (β : ι -> Type.{u2}) [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.hasNorm.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (fun (i : ι) => NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_3 i)))))))) x) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toNorm.{u2} (β i) (_inst_3 i)) (x i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2ₓ'. -/
 theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ ^ 2 = ∑ i : ι, ‖x i‖ ^ 2 :=
   by
@@ -602,11 +810,20 @@ theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β
   rw [nnnorm_eq_of_L2, NNReal.sq_sqrt]
 #align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2
 
+/- warning: pi_Lp.dist_eq_of_L2 -> PiLp.dist_eq_of_L2 is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasDist.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) x y) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.addCommMonoid (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Dist.dist.{u2} (β i) (PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.instDistPiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) x y) (Real.sqrt (Finset.sum.{0, u1} Real ι Real.instAddCommMonoidReal (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Dist.dist.{u2} (β i) (PseudoMetricSpace.toDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2ₓ'. -/
 theorem dist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
   simp_rw [dist_eq_norm, norm_eq_of_L2, Pi.sub_apply]
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
 
+/- warning: pi_Lp.nndist_eq_of_L2 -> PiLp.nndist_eq_of_L2 is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2ₓ'. -/
 theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     nndist x y = (∑ i, nndist (x i) (y i) ^ 2).sqrt :=
   Subtype.ext <| by
@@ -614,12 +831,24 @@ theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β
     exact dist_eq_of_L2 _ _
 #align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2
 
+/- warning: pi_Lp.edist_eq_of_L2 -> PiLp.edist_eq_of_L2 is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β) (PiLp.hasEdist.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (OfNat.mk.{0} ENNReal 2 (bit0.{0} ENNReal (Distrib.toHasAdd.{0} ENNReal (NonUnitalNonAssocSemiring.toDistrib.{0} ENNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} ENNReal (Semiring.toNonAssocSemiring.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne)))))) ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) x y) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.Real.hasPow) (Finset.sum.{0, u1} ENNReal ι (OrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (OrderedSemiring.toOrderedAddCommMonoid.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring)))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Nat ENNReal (instHPow.{0, 0} ENNReal Nat (Monoid.Pow.{0} ENNReal (MonoidWithZero.toMonoid.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.canonicallyOrderedCommSemiring))))))) (EDist.edist.{u2} (β i) (PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (OfNat.ofNat.{0} Real 2 (OfNat.mk.{0} Real 2 (bit0.{0} Real Real.hasAdd (One.one.{0} Real Real.hasOne))))))
+but is expected to have type
+  forall {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] {β : ι -> Type.{u2}} [_inst_3 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (y : PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β) (PiLp.instEDistPiLp.{u1, u2} (OfNat.ofNat.{0} ENNReal 2 (instOfNat.{0} ENNReal 2 (CanonicallyOrderedCommSemiring.toNatCast.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u2} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i))))) x y) (HPow.hPow.{0, 0, 0} ENNReal Real ENNReal (instHPow.{0, 0} ENNReal Real ENNReal.instPowENNRealReal) (Finset.sum.{0, u1} ENNReal ι (LinearOrderedAddCommMonoid.toAddCommMonoid.{0} ENNReal (LinearOrderedAddCommMonoidWithTop.toLinearOrderedAddCommMonoid.{0} ENNReal ENNReal.instLinearOrderedAddCommMonoidWithTopENNReal)) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => HPow.hPow.{0, 0, 0} ENNReal Nat ENNReal (instHPow.{0, 0} ENNReal Nat (Monoid.Pow.{0} ENNReal (MonoidWithZero.toMonoid.{0} ENNReal (Semiring.toMonoidWithZero.{0} ENNReal (OrderedSemiring.toSemiring.{0} ENNReal (OrderedCommSemiring.toOrderedSemiring.{0} ENNReal (CanonicallyOrderedCommSemiring.toOrderedCommSemiring.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))))))) (EDist.edist.{u2} (β i) (PseudoEMetricSpace.toEDist.{u2} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_3 i)))) (x i) (y i)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (OfNat.ofNat.{0} Real 2 (instOfNat.{0} Real 2 Real.natCast (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2ₓ'. -/
 theorem edist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
 
 variable [NormedField 𝕜] [NormedField 𝕜']
 
+/- warning: pi_Lp.normed_space -> PiLp.normedSpace is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], NormedSpace.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))
+but is expected to have type
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], NormedSpace.{u1, max u3 u2} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.normed_space PiLp.normedSpaceₓ'. -/
 /-- The product of finitely many normed spaces is a normed space, with the `L^p` norm. -/
 instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
     NormedSpace 𝕜 (PiLp p β) :=
@@ -637,16 +866,28 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
         exact Finset.sum_nonneg fun i hi => rpow_nonneg_of_nonneg (norm_nonneg _) _ }
 #align pi_Lp.normed_space PiLp.normedSpace
 
+/- warning: pi_Lp.is_scalar_tower -> PiLp.isScalarTower is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.is_scalar_tower PiLp.isScalarTowerₓ'. -/
 instance isScalarTower [∀ i, SeminormedAddCommGroup (β i)] [SMul 𝕜 𝕜'] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, IsScalarTower 𝕜 𝕜' (β i)] : IsScalarTower 𝕜 𝕜' (PiLp p β) :=
   Pi.isScalarTower
 #align pi_Lp.is_scalar_tower PiLp.isScalarTower
 
-instance sMulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
+/- warning: pi_Lp.smul_comm_class -> PiLp.smulCommClass is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.smul_comm_class PiLp.smulCommClassₓ'. -/
+instance smulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [∀ i, NormedSpace 𝕜' (β i)] [∀ i, SMulCommClass 𝕜 𝕜' (β i)] : SMulCommClass 𝕜 𝕜' (PiLp p β) :=
   Pi.smulCommClass
-#align pi_Lp.smul_comm_class PiLp.sMulCommClass
-
+#align pi_Lp.smul_comm_class PiLp.smulCommClass
+
+/- warning: pi_Lp.finite_dimensional -> PiLp.finiteDimensional is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)] [I : forall (i : ι), FiniteDimensional.{u1, u3} 𝕜 (β i) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)) (NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i))], FiniteDimensional.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)) (PiLp.normedSpace.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)))
+but is expected to have type
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)] [I : forall (i : ι), FiniteDimensional.{u1, u3} 𝕜 (β i) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)) (NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i))], FiniteDimensional.{u1, max u3 u2} 𝕜 (PiLp.{u2, u3} p ι β) (NormedDivisionRing.toDivisionRing.{u1} 𝕜 (NormedField.toNormedDivisionRing.{u1} 𝕜 _inst_3)) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))) (PiLp.module.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.finite_dimensional PiLp.finiteDimensionalₓ'. -/
 instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [I : ∀ i, FiniteDimensional 𝕜 (β i)] : FiniteDimensional 𝕜 (PiLp p β) :=
   FiniteDimensional.finiteDimensional_pi' _ _
@@ -658,31 +899,64 @@ variable {𝕜 𝕜' p α} [∀ i, SeminormedAddCommGroup (β i)] [∀ i, Normed
 
 variable (x y : PiLp p β) (x' y' : ∀ i, β i) (i : ι)
 
+/- warning: pi_Lp.zero_apply -> PiLp.zero_apply is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (i : ι), Eq.{succ u2} (β i) (Zero.zero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) i) (OfNat.ofNat.{u2} (β i) 0 (OfNat.mk.{u2} (β i) 0 (Zero.zero.{u2} (β i) (AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))))))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (i : ι), Eq.{succ u2} (β i) (OfNat.ofNat.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (Zero.toOfNat0.{max u1 u2} (PiLp.{u1, u2} p ι β) (NegZeroClass.toZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) i) (OfNat.ofNat.{u2} (β i) 0 (Zero.toOfNat0.{u2} (β i) (NegZeroClass.toZero.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_5 i)))))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.zero_apply PiLp.zero_applyₓ'. -/
 @[simp]
 theorem zero_apply : (0 : PiLp p β) i = 0 :=
   rfl
 #align pi_Lp.zero_apply PiLp.zero_apply
 
+/- warning: pi_Lp.add_apply -> PiLp.add_apply is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y i) (HAdd.hAdd.{u2, u2, u2} (β i) (β i) (β i) (instHAdd.{u2} (β i) (AddZeroClass.toHasAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))) (x i) (y i))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y i) (HAdd.hAdd.{u2, u2, u2} (β i) (β i) (β i) (instHAdd.{u2} (β i) (AddZeroClass.toAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))) (x i) (y i))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.add_apply PiLp.add_applyₓ'. -/
 @[simp]
 theorem add_apply : (x + y) i = x i + y i :=
   rfl
 #align pi_Lp.add_apply PiLp.add_apply
 
+/- warning: pi_Lp.sub_apply -> PiLp.sub_apply is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y i) (HSub.hSub.{u2, u2, u2} (β i) (β i) (β i) (instHSub.{u2} (β i) (SubNegMonoid.toHasSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) (x i) (y i))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y i) (HSub.hSub.{u2, u2, u2} (β i) (β i) (β i) (instHSub.{u2} (β i) (SubNegMonoid.toSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) (x i) (y i))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.sub_apply PiLp.sub_applyₓ'. -/
 @[simp]
 theorem sub_apply : (x - y) i = x i - y i :=
   rfl
 #align pi_Lp.sub_apply PiLp.sub_apply
 
+/- warning: pi_Lp.smul_apply -> PiLp.smul_apply is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.smul_apply PiLp.smul_applyₓ'. -/
 @[simp]
 theorem smul_apply : (c • x) i = c • x i :=
   rfl
 #align pi_Lp.smul_apply PiLp.smul_apply
 
+/- warning: pi_Lp.neg_apply -> PiLp.neg_apply is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))) x i) (Neg.neg.{u2} (β i) (SubNegMonoid.toHasNeg.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))) (x i))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (i : ι), Eq.{succ u2} (β i) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (NegZeroClass.toNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) x i) (Neg.neg.{u2} (β i) (NegZeroClass.toNeg.{u2} (β i) (SubNegZeroMonoid.toNegZeroClass.{u2} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u2} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u2} (β i) (_inst_5 i))))))) (x i))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.neg_apply PiLp.neg_applyₓ'. -/
 @[simp]
 theorem neg_apply : (-x) i = -x i :=
   rfl
 #align pi_Lp.neg_apply PiLp.neg_apply
 
+/- warning: pi_Lp.equivₗᵢ -> PiLp.equivₗᵢ is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearIsometryEquiv.{u1, u1, max u2 u3, max u2 u3} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (PiLp.equivₗᵢ._proof_1.{u1} 𝕜 _inst_3) (PiLp.equivₗᵢ._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) (forall (i : ι), β i) (PiLp.seminormedAddCommGroup.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_5 i)) (Pi.seminormedAddCommGroup.{u2, u3} ι (fun (i : ι) => β i) _inst_1 (fun (i : ι) => _inst_5 i)) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_5 i)) (PiLp.normedSpace.{u1, u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))) 𝕜 ι β _inst_1 fact_one_le_top_ennreal _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i))) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
+but is expected to have type
+  forall {𝕜 : Type.{u1}} {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearIsometryEquiv.{u1, u1, max u3 u2, max u2 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β) (forall (i : ι), β i) (PiLp.seminormedAddCommGroup.{u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) ι β _inst_1 fact_one_le_top_ennreal (fun (i : ι) => _inst_5 i)) (Pi.seminormedAddCommGroup.{u2, u3} ι (fun (i : ι) => β i) _inst_1 (fun (i : ι) => _inst_5 i)) (PiLp.module.{u1, u2, u3} (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))) 𝕜 ι β _inst_1 fact_one_le_top_ennreal _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equivₗᵢ PiLp.equivₗᵢₓ'. -/
 /-- The canonical map `pi_Lp.equiv` between `pi_Lp ∞ β` and `Π i, β i` as a linear isometric
 equivalence. -/
 def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
@@ -706,6 +980,12 @@ variable [Fintype ι']
 
 variable (p 𝕜) (E : Type _) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
 
+/- warning: linear_isometry_equiv.pi_Lp_congr_left -> LinearIsometryEquiv.piLpCongrLeft is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] {ι' : Type.{u3}} [_inst_7 : Fintype.{u3} ι'] (E : Type.{u4}) [_inst_8 : NormedAddCommGroup.{u4} E] [_inst_9 : NormedSpace.{u1, u4} 𝕜 E _inst_3 (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)], (Equiv.{succ u2, succ u3} ι ι') -> (LinearIsometryEquiv.{u1, u1, max u2 u4, max u3 u4} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (LinearIsometryEquiv.piLpCongrLeft._proof_1.{u1} 𝕜 _inst_3) (LinearIsometryEquiv.piLpCongrLeft._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u4} p ι (fun (i : ι) => E)) (PiLp.{u3, u4} p ι' (fun (i : ι') => E)) (PiLp.seminormedAddCommGroup.{u2, u4} p ι (fun (i : ι) => E) _inst_1 _inst_2 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.seminormedAddCommGroup.{u3, u4} p ι' (fun (i : ι') => E) _inst_7 _inst_2 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (NormedSpace.toModule.{u1, max u2 u4} 𝕜 (PiLp.{u2, u4} p ι (fun (i : ι) => E)) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u4} p ι (fun (i : ι) => E) _inst_1 _inst_2 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.normedSpace.{u1, u2, u4} p 𝕜 ι (fun (i : ι) => E) _inst_1 _inst_2 _inst_3 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι) => _inst_9))) (NormedSpace.toModule.{u1, max u3 u4} 𝕜 (PiLp.{u3, u4} p ι' (fun (i : ι') => E)) _inst_3 (PiLp.seminormedAddCommGroup.{u3, u4} p ι' (fun (i : ι') => E) _inst_7 _inst_2 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.normedSpace.{u1, u3, u4} p 𝕜 ι' (fun (i : ι') => E) _inst_7 _inst_2 _inst_3 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι') => _inst_9))))
+but is expected to have type
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] {ι' : Type.{u3}} [_inst_7 : Fintype.{u3} ι'] (E : Type.{u4}) [_inst_8 : NormedAddCommGroup.{u4} E] [_inst_9 : NormedSpace.{u1, u4} 𝕜 E _inst_3 (NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)], (Equiv.{succ u2, succ u3} ι ι') -> (LinearIsometryEquiv.{u1, u1, max u4 u2, max u4 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u4} p ι (fun (i : ι) => E)) (PiLp.{u3, u4} p ι' (fun (i : ι') => E)) (PiLp.seminormedAddCommGroup.{u2, u4} p ι (fun (i : ι) => E) _inst_1 _inst_2 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.seminormedAddCommGroup.{u3, u4} p ι' (fun (i : ι') => E) _inst_7 _inst_2 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8)) (PiLp.module.{u1, u2, u4} p 𝕜 ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.8359 : ι) => E) _inst_1 _inst_2 _inst_3 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι) => _inst_9)) (PiLp.module.{u1, u3, u4} p 𝕜 ι' (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.8368 : ι') => E) _inst_7 _inst_2 _inst_3 (fun (i : ι') => NormedAddCommGroup.toSeminormedAddCommGroup.{u4} E _inst_8) (fun (i : ι') => _inst_9)))
+Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left LinearIsometryEquiv.piLpCongrLeftₓ'. -/
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
 def LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
@@ -724,12 +1004,18 @@ def LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
 
 variable {p 𝕜 E}
 
+/- warning: linear_isometry_equiv.pi_Lp_congr_left_apply -> LinearIsometryEquiv.piLpCongrLeft_apply is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left_apply LinearIsometryEquiv.piLpCongrLeft_applyₓ'. -/
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_apply (e : ι ≃ ι') (v : PiLp p fun i : ι => E) :
     LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e v = Equiv.piCongrLeft' (fun i : ι => E) e v :=
   rfl
 #align linear_isometry_equiv.pi_Lp_congr_left_apply LinearIsometryEquiv.piLpCongrLeft_apply
 
+/- warning: linear_isometry_equiv.pi_Lp_congr_left_symm -> LinearIsometryEquiv.piLpCongrLeft_symm is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left_symm LinearIsometryEquiv.piLpCongrLeft_symmₓ'. -/
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
     (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e).symm =
@@ -737,6 +1023,9 @@ theorem LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
   LinearIsometryEquiv.ext fun x => rfl
 #align linear_isometry_equiv.pi_Lp_congr_left_symm LinearIsometryEquiv.piLpCongrLeft_symm
 
+/- warning: linear_isometry_equiv.pi_Lp_congr_left_single -> LinearIsometryEquiv.piLpCongrLeft_single is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_singleₓ'. -/
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq ι'] (e : ι ≃ ι')
     (i : ι) (v : E) :
@@ -748,53 +1037,107 @@ theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq 
     Function.update, Equiv.symm_apply_eq]
 #align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_single
 
+/- warning: pi_Lp.equiv_zero -> PiLp.equiv_zero is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (OfNat.ofNat.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (OfNat.mk.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (Zero.zero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))))))) (OfNat.ofNat.{max u1 u2} (forall (i : ι), β i) 0 (OfNat.mk.{max u1 u2} (forall (i : ι), β i) 0 (Zero.zero.{max u1 u2} (forall (i : ι), β i) (Pi.instZero.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))))))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (OfNat.ofNat.{max u2 u1} (PiLp.{u2, u1} p ι β) 0 (Zero.toOfNat0.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toZero.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_zero PiLp.equiv_zeroₓ'. -/
 @[simp]
 theorem equiv_zero : PiLp.equiv p β 0 = 0 :=
   rfl
 #align pi_Lp.equiv_zero PiLp.equiv_zero
 
+/- warning: pi_Lp.equiv_symm_zero -> PiLp.equiv_symm_zero is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)], Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (OfNat.ofNat.{max u1 u2} (forall (i : ι), β i) 0 (OfNat.mk.{max u1 u2} (forall (i : ι), β i) 0 (Zero.zero.{max u1 u2} (forall (i : ι), β i) (Pi.instZero.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))))))) (OfNat.ofNat.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (OfNat.mk.{max u1 u2} (PiLp.{u1, u2} p ι β) 0 (Zero.zero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasZero.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))))))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (NegZeroClass.toZero.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (OfNat.ofNat.{max u2 u1} (forall (i : ι), β i) 0 (Zero.toOfNat0.{max u2 u1} (forall (i : ι), β i) (Pi.instZero.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))))))) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zeroₓ'. -/
 @[simp]
 theorem equiv_symm_zero : (PiLp.equiv p β).symm 0 = 0 :=
   rfl
 #align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zero
 
+/- warning: pi_Lp.equiv_add -> PiLp.equiv_add is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u1 u2} (forall (i : ι), β i) (Pi.instAdd.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) x) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) y))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x : PiLp.{u2, u1} p ι β) (y : PiLp.{u2, u1} p ι β), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddZeroClass.toAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddMonoid.toAddZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toAddMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddZeroClass.toAdd.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddMonoid.toAddZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toAddMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) x y)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (Pi.instAdd.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toAdd.{u1} (β i) (AddMonoid.toAddZeroClass.{u1} (β i) (SubNegMonoid.toAddMonoid.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) x) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) y))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_add PiLp.equiv_addₓ'. -/
 @[simp]
 theorem equiv_add : PiLp.equiv p β (x + y) = PiLp.equiv p β x + PiLp.equiv p β y :=
   rfl
 #align pi_Lp.equiv_add PiLp.equiv_add
 
+/- warning: pi_Lp.equiv_symm_add -> PiLp.equiv_symm_add is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u1 u2} (forall (i : ι), β i) (Pi.instAdd.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toHasAdd.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))))) x' y')) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddZeroClass.toHasAdd.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddMonoid.toAddZeroClass.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toAddMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) x') (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) y'))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u2 u1} (forall (i : ι), β i) (Pi.instAdd.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toAdd.{u1} (β i) (AddMonoid.toAddZeroClass.{u1} (β i) (SubNegMonoid.toAddMonoid.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))))) x' y')) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHAdd.{max u2 u1} (forall (i : ι), β i) (Pi.instAdd.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => AddZeroClass.toAdd.{u1} (β i) (AddMonoid.toAddZeroClass.{u1} (β i) (SubNegMonoid.toAddMonoid.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))))) x' y')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) y') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddZeroClass.toAdd.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddMonoid.toAddZeroClass.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubNegMonoid.toAddMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddGroup.toSubNegMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddGroup.toAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) x') (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) y'))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_add PiLp.equiv_symm_addₓ'. -/
 @[simp]
 theorem equiv_symm_add :
     (PiLp.equiv p β).symm (x' + y') = (PiLp.equiv p β).symm x' + (PiLp.equiv p β).symm y' :=
   rfl
 #align pi_Lp.equiv_symm_add PiLp.equiv_symm_add
 
+/- warning: pi_Lp.equiv_sub -> PiLp.equiv_sub is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β) (y : PiLp.{u1, u2} p ι β), Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u1 u2} (forall (i : ι), β i) (Pi.instSub.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) x) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) y))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x : PiLp.{u2, u1} p ι β) (y : PiLp.{u2, u1} p ι β), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (PiLp.{u2, u1} p ι β) (instHSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegMonoid.toSub.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddGroup.toSubNegMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddGroup.toAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) x y)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (instHSub.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (Pi.instSub.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toSub.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) x) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) y))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_sub PiLp.equiv_subₓ'. -/
 @[simp]
 theorem equiv_sub : PiLp.equiv p β (x - y) = PiLp.equiv p β x - PiLp.equiv p β y :=
   rfl
 #align pi_Lp.equiv_sub PiLp.equiv_sub
 
+/- warning: pi_Lp.equiv_symm_sub -> PiLp.equiv_symm_sub is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u1 u2} (forall (i : ι), β i) (Pi.instSub.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasSub.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) x' y')) (HSub.hSub.{max u1 u2, max u1 u2, max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (PiLp.{u1, u2} p ι β) (instHSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasSub.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) x') (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) y'))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x' : forall (i : ι), β i) (y' : forall (i : ι), β i), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u2 u1} (forall (i : ι), β i) (Pi.instSub.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toSub.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))) x' y')) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (forall (i : ι), β i) (forall (i : ι), β i) (forall (i : ι), β i) (instHSub.{max u2 u1} (forall (i : ι), β i) (Pi.instSub.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toSub.{u1} (β i) (AddGroup.toSubNegMonoid.{u1} (β i) (SeminormedAddGroup.toAddGroup.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_5 i))))))) x' y')) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) y') ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (instHSub.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubNegMonoid.toSub.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddGroup.toSubNegMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddGroup.toAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) x') (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) y'))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_sub PiLp.equiv_symm_subₓ'. -/
 @[simp]
 theorem equiv_symm_sub :
     (PiLp.equiv p β).symm (x' - y') = (PiLp.equiv p β).symm x' - (PiLp.equiv p β).symm y' :=
   rfl
 #align pi_Lp.equiv_symm_sub PiLp.equiv_symm_sub
 
+/- warning: pi_Lp.equiv_neg -> PiLp.equiv_neg is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x : PiLp.{u1, u2} p ι β), Eq.{max (succ u1) (succ u2)} (forall (i : ι), β i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))) x)) (Neg.neg.{max u1 u2} (forall (i : ι), β i) (Pi.instNeg.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasNeg.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u1) (succ u2)) (max (succ u1) (succ u2)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u1) (succ u2)} (Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (fun (_x : Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) => (PiLp.{u1, u2} p ι β) -> (forall (i : ι), β i)) (Equiv.hasCoeToFun.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u1, u2} p ι β) x))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x : PiLp.{u2, u1} p ι β), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) (Neg.neg.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toNeg.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) x)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) (Neg.neg.{max u2 u1} (PiLp.{u2, u1} p ι β) (NegZeroClass.toNeg.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι β) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) x)) (Neg.neg.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) x) (Pi.instNeg.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toNeg.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.{u2, u1} p ι β) (fun (_x : PiLp.{u2, u1} p ι β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : PiLp.{u2, u1} p ι β) => forall (i : ι), β i) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i)) (PiLp.equiv.{u2, u1} p ι β) x))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_neg PiLp.equiv_negₓ'. -/
 @[simp]
 theorem equiv_neg : PiLp.equiv p β (-x) = -PiLp.equiv p β x :=
   rfl
 #align pi_Lp.equiv_neg PiLp.equiv_neg
 
+/- warning: pi_Lp.equiv_symm_neg -> PiLp.equiv_symm_neg is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] (x' : forall (i : ι), β i), Eq.{succ (max u1 u2)} (PiLp.{u1, u2} p ι β) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Neg.neg.{max u1 u2} (forall (i : ι), β i) (Pi.instNeg.{u1, u2} ι (fun (i : ι) => β i) (fun (i : ι) => SubNegMonoid.toHasNeg.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))) x')) (Neg.neg.{max u1 u2} (PiLp.{u1, u2} p ι β) (SubNegMonoid.toHasNeg.{max u1 u2} (PiLp.{u1, u2} p ι β) (AddGroup.toSubNegMonoid.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) x'))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] (x' : forall (i : ι), β i), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Neg.neg.{max u2 u1} (forall (i : ι), β i) (Pi.instNeg.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toNeg.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) x')) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Neg.neg.{max u2 u1} (forall (i : ι), β i) (Pi.instNeg.{u2, u1} ι (fun (i : ι) => β i) (fun (i : ι) => NegZeroClass.toNeg.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) x')) (Neg.neg.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (NegZeroClass.toNeg.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubNegZeroMonoid.toNegZeroClass.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubtractionMonoid.toSubNegZeroMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SubtractionCommMonoid.toSubtractionMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (AddCommGroup.toDivisionAddCommMonoid.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) x') (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) x'))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_neg PiLp.equiv_symm_negₓ'. -/
 @[simp]
 theorem equiv_symm_neg : (PiLp.equiv p β).symm (-x') = -(PiLp.equiv p β).symm x' :=
   rfl
 #align pi_Lp.equiv_symm_neg PiLp.equiv_symm_neg
 
+/- warning: pi_Lp.equiv_smul -> PiLp.equiv_smul is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_smul PiLp.equiv_smulₓ'. -/
 @[simp]
 theorem equiv_smul : PiLp.equiv p β (c • x) = c • PiLp.equiv p β x :=
   rfl
 #align pi_Lp.equiv_smul PiLp.equiv_smul
 
+/- warning: pi_Lp.equiv_symm_smul -> PiLp.equiv_symm_smul is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.equiv_symm_smul PiLp.equiv_symm_smulₓ'. -/
 @[simp]
 theorem equiv_symm_smul : (PiLp.equiv p β).symm (c • x') = c • (PiLp.equiv p β).symm x' :=
   rfl
@@ -806,6 +1149,12 @@ variable (p)
 
 variable [DecidableEq ι]
 
+/- warning: pi_Lp.nnnorm_equiv_symm_single -> PiLp.nnnorm_equiv_symm_single is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b : β i), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι β) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.seminormedAddCommGroup.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b))) (NNNorm.nnnorm.{u2} (β i) (SeminormedAddGroup.toNNNorm.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))) b)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_5 : DecidableEq.{succ u2} ι] [_inst_10 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] (i : ι) (b : β i), Eq.{1} NNReal (NNNorm.nnnorm.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b)) (SeminormedAddGroup.toNNNorm.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b)) (PiLp.seminormedAddCommGroup.{u2, u1} p ι β _inst_1 _inst_10 (fun (i : ι) => _inst_2 i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_5 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_2 i))))))) i b))) (NNNorm.nnnorm.{u1} (β i) (SeminormedAddGroup.toNNNorm.{u1} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} (β i) (_inst_2 i))) b)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_singleₓ'. -/
 @[simp]
 theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
     ‖(PiLp.equiv p β).symm (Pi.single i b)‖₊ = ‖b‖₊ :=
@@ -828,11 +1177,23 @@ theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
     rw [equiv_symm_apply, Pi.single_eq_of_ne hij, nnnorm_zero, NNReal.zero_rpow hp0]
 #align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_single
 
+/- warning: pi_Lp.norm_equiv_symm_single -> PiLp.norm_equiv_symm_single is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b : β i), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasNorm.{u1, u2} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_5 i)) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i)))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b))) (Norm.norm.{u2} (β i) (SeminormedAddCommGroup.toHasNorm.{u2} (β i) (_inst_5 i)) b)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b : β i), Eq.{1} Real (Norm.norm.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b)) (PiLp.hasNorm.{u2, u1} p ι β _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u1} (β i) (_inst_5 i)) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b))) (Norm.norm.{u1} (β i) (SeminormedAddCommGroup.toNorm.{u1} (β i) (_inst_5 i)) b)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_singleₓ'. -/
 @[simp]
 theorem norm_equiv_symm_single (i : ι) (b : β i) : ‖(PiLp.equiv p β).symm (Pi.single i b)‖ = ‖b‖ :=
   congr_arg coe <| nnnorm_equiv_symm_single p β i b
 #align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_single
 
+/- warning: pi_Lp.nndist_equiv_symm_single_same -> PiLp.nndist_equiv_symm_single_same is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} NNReal (NNDist.nndist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PseudoMetricSpace.toNNDist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.pseudoMetricSpace.{u1, u2} p ι β _inst_1 _inst_2 (fun (i : ι) => SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₁)) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₂))) (NNDist.nndist.{u2} (β i) (PseudoMetricSpace.toNNDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i))) b₁ b₂)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} NNReal (NNDist.nndist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PseudoMetricSpace.toNNDist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PiLp.instPseudoMetricSpacePiLp.{u2, u1} p ι β _inst_1 _inst_2 (fun (i : ι) => SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₂))) (NNDist.nndist.{u1} (β i) (PseudoMetricSpace.toNNDist.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i))) b₁ b₂)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_sameₓ'. -/
 @[simp]
 theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     nndist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -842,6 +1203,12 @@ theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     nnnorm_equiv_symm_single]
 #align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_same
 
+/- warning: pi_Lp.dist_equiv_symm_single_same -> PiLp.dist_equiv_symm_single_same is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} Real (Dist.dist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasDist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₁)) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₂))) (Dist.dist.{u2} (β i) (PseudoMetricSpace.toHasDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i))) b₁ b₂)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} Real (Dist.dist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PiLp.instDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toDist.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₂))) (Dist.dist.{u1} (β i) (PseudoMetricSpace.toDist.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i))) b₁ b₂)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_sameₓ'. -/
 @[simp]
 theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     dist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -849,6 +1216,12 @@ theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
   congr_arg coe <| nndist_equiv_symm_single_same p β i b₁ b₂
 #align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_same
 
+/- warning: pi_Lp.edist_equiv_symm_single_same -> PiLp.edist_equiv_symm_single_same is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) {ι : Type.{u1}} (β : ι -> Type.{u2}) [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u2} (β i)] [_inst_10 : DecidableEq.{succ u1} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} ENNReal (EDist.edist.{max u1 u2} (PiLp.{u1, u2} p ι β) (PiLp.hasEdist.{u1, u2} p ι β _inst_1 (fun (i : ι) => PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₁)) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) => (forall (i : ι), β i) -> (PiLp.{u1, u2} p ι β)) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), β i) (PiLp.{u1, u2} p ι β)) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u1, u2} p ι β)) (Pi.single.{u1, u2} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} (β i) (AddMonoid.toAddZeroClass.{u2} (β i) (SubNegMonoid.toAddMonoid.{u2} (β i) (AddGroup.toSubNegMonoid.{u2} (β i) (SeminormedAddGroup.toAddGroup.{u2} (β i) (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} (β i) (_inst_5 i))))))) i b₂))) (EDist.edist.{u2} (β i) (PseudoMetricSpace.toEDist.{u2} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (β i) (_inst_5 i))) b₁ b₂)
+but is expected to have type
+  forall (p : ENNReal) {ι : Type.{u2}} (β : ι -> Type.{u1}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u1} (β i)] [_inst_10 : DecidableEq.{succ u2} ι] (i : ι) (b₁ : β i) (b₂ : β i), Eq.{1} ENNReal (EDist.edist.{max u2 u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (PiLp.instEDistPiLp.{u2, u1} p ι β _inst_1 (fun (i : ι) => PseudoEMetricSpace.toEDist.{u1} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₁)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (forall (i : ι), β i) (fun (_x : forall (i : ι), β i) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : forall (i : ι), β i) => PiLp.{u2, u1} p ι β) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (forall (i : ι), β i) (PiLp.{u2, u1} p ι β)) (Equiv.symm.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (PiLp.{u2, u1} p ι β) (forall (i : ι), β i) (PiLp.equiv.{u2, u1} p ι β)) (Pi.single.{u2, u1} ι (fun (i : ι) => β i) (fun (a : ι) (b : ι) => _inst_10 a b) (fun (i : ι) => NegZeroClass.toZero.{u1} (β i) (SubNegZeroMonoid.toNegZeroClass.{u1} (β i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (β i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (β i) (AddCommGroup.toDivisionAddCommMonoid.{u1} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u1} (β i) (_inst_5 i))))))) i b₂))) (EDist.edist.{u1} (β i) (PseudoEMetricSpace.toEDist.{u1} (β i) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} (β i) (_inst_5 i)))) b₁ b₂)
+Case conversion may be inaccurate. Consider using '#align pi_Lp.edist_equiv_symm_single_same PiLp.edist_equiv_symm_single_sameₓ'. -/
 @[simp]
 theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     edist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
@@ -858,6 +1231,12 @@ theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
 
 end Single
 
+/- warning: pi_Lp.nnnorm_equiv_symm_const -> PiLp.nnnorm_equiv_symm_const is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b)))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddGroup.toNNNorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11210 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_constₓ'. -/
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
@@ -874,6 +1253,12 @@ theorem nnnorm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞
       NNReal.rpow_one, ENNReal.toReal_div, ENNReal.one_toReal]
 #align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_const
 
+/- warning: pi_Lp.nnnorm_equiv_symm_const' -> PiLp.nnnorm_equiv_symm_const' is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddGroup.toNNNorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11402 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) b))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'ₓ'. -/
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const` for a version which exchanges the hypothesis `nonempty ι`.
@@ -889,6 +1274,12 @@ theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι]
   · exact nnnorm_equiv_symm_const hp b
 #align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'
 
+/- warning: pi_Lp.norm_equiv_symm_const -> PiLp.norm_equiv_symm_const is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (fun (i : ι) => AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) b)))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11575 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (fun (i : ι) => NegZeroClass.toZero.{u2} β (SubNegZeroMonoid.toNegZeroClass.{u2} β (SubtractionMonoid.toSubNegZeroMonoid.{u2} β (SubtractionCommMonoid.toSubtractionMonoid.{u2} β (AddCommGroup.toDivisionAddCommMonoid.{u2} β (SeminormedAddCommGroup.toAddCommGroup.{u2} β _inst_10))))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11575 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11575 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (NNReal.toReal (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_10) b)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_const PiLp.norm_equiv_symm_constₓ'. -/
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.norm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
@@ -899,6 +1290,12 @@ theorem norm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞)
   (congr_arg coe <| nnnorm_equiv_symm_const hp b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const PiLp.norm_equiv_symm_const
 
+/- warning: pi_Lp.norm_equiv_symm_const' -> PiLp.norm_equiv_symm_const' is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (fun (i : ι) => AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) b))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β] [_inst_11 : Nonempty.{succ u1} ι] (b : β), Eq.{1} Real (Norm.norm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11733 : ι) => β)) (Function.const.{succ u2, succ u1} β ι b)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (fun (i : ι) => NegZeroClass.toZero.{u2} β (SubNegZeroMonoid.toNegZeroClass.{u2} β (SubtractionMonoid.toSubNegZeroMonoid.{u2} β (SubtractionCommMonoid.toSubtractionMonoid.{u2} β (AddCommGroup.toDivisionAddCommMonoid.{u2} β (SeminormedAddCommGroup.toAddCommGroup.{u2} β _inst_10))))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11733 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11733 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (Function.const.{succ u2, succ u1} β ι b))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (NNReal.toReal (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_10) b))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_const' PiLp.norm_equiv_symm_const'ₓ'. -/
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.norm_equiv_symm_const` for a version which exchanges the hypothesis `nonempty ι`.
@@ -909,11 +1306,23 @@ theorem norm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι] (b
   (congr_arg coe <| nnnorm_equiv_symm_const' b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const' PiLp.norm_equiv_symm_const'
 
+/- warning: pi_Lp.nnnorm_equiv_symm_one -> PiLp.nnnorm_equiv_symm_one is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddGroup.toNNNorm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (OfNat.mk.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (One.one.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) (Pi.instOne.{u1, u2} ι (fun (i : ι) => (fun (_x : ι) => β) i) (fun (i : ι) => _inst_11))))))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat NNReal (HasLiftT.mk.{1, 1} Nat NNReal (CoeTCₓ.coe.{1, 1} Nat NNReal (Nat.castCoe.{0} NNReal (AddMonoidWithOne.toNatCast.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_11))))))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} NNReal (NNNorm.nnnorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (SeminormedAddGroup.toNNNorm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (SeminormedAddCommGroup.toSeminormedAddGroup.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (PiLp.seminormedAddCommGroup.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 _inst_2 (fun (i : ι) => _inst_10)))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.11901 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11)))))) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p))) (NNNorm.nnnorm.{u2} β (SeminormedAddGroup.toNNNorm.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β _inst_11)))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.nnnorm_equiv_symm_one PiLp.nnnorm_equiv_symm_oneₓ'. -/
 theorem nnnorm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
     ‖(PiLp.equiv p fun _ : ι => β).symm 1‖₊ = Fintype.card ι ^ (1 / p).toReal * ‖(1 : β)‖₊ :=
   (nnnorm_equiv_symm_const hp (1 : β)).trans rfl
 #align pi_Lp.nnnorm_equiv_symm_one PiLp.nnnorm_equiv_symm_one
 
+/- warning: pi_Lp.norm_equiv_symm_one -> PiLp.norm_equiv_symm_one is a dubious translation:
+lean 3 declaration is
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toHasTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} Real (Norm.norm.{max u1 u2} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (fun (i : ι) => AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_10))))))) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) => (forall (i : ι), (fun (_x : ι) => β) i) -> (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (forall (i : ι), (fun (_x : ι) => β) i) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (OfNat.mk.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) 1 (One.one.{max u1 u2} (forall (i : ι), (fun (_x : ι) => β) i) (Pi.instOne.{u1, u2} ι (fun (i : ι) => (fun (_x : ι) => β) i) (fun (i : ι) => _inst_11))))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (HPow.hPow.{0, 0, 0} Real Real Real (instHPow.{0, 0} Real Real Real.hasPow) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Real (HasLiftT.mk.{1, 1} Nat Real (CoeTCₓ.coe.{1, 1} Nat Real (Nat.castCoe.{0} Real Real.hasNatCast))) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toHasDiv.{0} ENNReal ENNReal.divInvMonoid)) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_10) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_11))))))
+but is expected to have type
+  forall {p : ENNReal} {ι : Type.{u1}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] {β : Type.{u2}} [_inst_10 : SeminormedAddCommGroup.{u2} β], (Ne.{1} ENNReal p (Top.top.{0} ENNReal (CompleteLattice.toTop.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal)))) -> (forall [_inst_11 : One.{u2} β], Eq.{1} Real (Norm.norm.{max u1 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12054 : ι) => β)) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11))))) (PiLp.hasNorm.{u1, u2} p ι (fun (_x : ι) => β) _inst_1 (fun (i : ι) => SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (fun (i : ι) => NegZeroClass.toZero.{u2} β (SubNegZeroMonoid.toNegZeroClass.{u2} β (SubtractionMonoid.toSubNegZeroMonoid.{u2} β (SubtractionCommMonoid.toSubtractionMonoid.{u2} β (AddCommGroup.toDivisionAddCommMonoid.{u2} β (SeminormedAddCommGroup.toAddCommGroup.{u2} β _inst_10))))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12054 : ι) => β))) (ι -> β) (fun (_x : ι -> β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι -> β) => PiLp.{u1, u2} p ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12054 : ι) => β)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ι -> β) (PiLp.{u1, u2} p ι (fun (_x : ι) => β))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PiLp.{u1, u2} p ι (fun (_x : ι) => β)) (ι -> β) (PiLp.equiv.{u1, u2} p ι (fun (_x : ι) => β))) (OfNat.ofNat.{max u1 u2} (ι -> β) 1 (One.toOfNat1.{max u1 u2} (ι -> β) (Pi.instOne.{u1, u2} ι (fun (i : ι) => β) (fun (i : ι) => _inst_11)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (NNReal.toReal (HPow.hPow.{0, 0, 0} NNReal Real NNReal (instHPow.{0, 0} NNReal Real NNReal.instPowNNRealReal) (Nat.cast.{0} NNReal (CanonicallyOrderedCommSemiring.toNatCast.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) (Fintype.card.{u1} ι _inst_1)) (ENNReal.toReal (HDiv.hDiv.{0, 0, 0} ENNReal ENNReal ENNReal (instHDiv.{0} ENNReal (DivInvMonoid.toDiv.{0} ENNReal ENNReal.instDivInvMonoidENNReal)) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)))) (Norm.norm.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_10) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β _inst_11)))))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.norm_equiv_symm_one PiLp.norm_equiv_symm_oneₓ'. -/
 theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
     ‖(PiLp.equiv p fun _ : ι => β).symm 1‖ = Fintype.card ι ^ (1 / p).toReal * ‖(1 : β)‖ :=
   (norm_equiv_symm_const hp (1 : β)).trans rfl
@@ -921,6 +1330,12 @@ theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [O
 
 variable (𝕜 p)
 
+/- warning: pi_Lp.linear_equiv -> PiLp.linearEquiv is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (PiLp.linearEquiv._proof_1.{u1} 𝕜 _inst_3) (PiLp.linearEquiv._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u3} p ι β) (forall (i : ι), β i) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)) (PiLp.normedSpace.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i))) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
+but is expected to have type
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], LinearEquiv.{u1, u1, max u3 u2, max u2 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u3} p ι β) (forall (i : ι), β i) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (PiLp.module.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.linear_equiv PiLp.linearEquivₓ'. -/
 /-- `pi_Lp.equiv` as a linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
@@ -929,6 +1344,12 @@ protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
     invFun := (PiLp.equiv _ _).symm }
 #align pi_Lp.linear_equiv PiLp.linearEquiv
 
+/- warning: pi_Lp.continuous_linear_equiv -> PiLp.continuousLinearEquiv is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], ContinuousLinearEquiv.{u1, u1, max u2 u3, max u2 u3} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))))) (PiLp.continuousLinearEquiv._proof_1.{u1} 𝕜 _inst_3) (PiLp.continuousLinearEquiv._proof_2.{u1} 𝕜 _inst_3) (PiLp.{u2, u3} p ι β) (UniformSpace.toTopologicalSpace.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.uniformSpace.{u2, u3} p ι β (fun (i : ι) => PseudoMetricSpace.toUniformSpace.{u3} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β i) (_inst_5 i))))) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (forall (i : ι), β i) (Pi.topologicalSpace.{u2, u3} ι (fun (i : ι) => β i) (fun (a : ι) => UniformSpace.toTopologicalSpace.{u3} (β a) (PseudoMetricSpace.toUniformSpace.{u3} (β a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β a) (_inst_5 a))))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (NormedSpace.toModule.{u1, max u2 u3} 𝕜 (PiLp.{u2, u3} p ι β) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (a : ι) => _inst_5 a)) (PiLp.normedSpace.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (a : ι) => _inst_5 a) (fun (i : ι) => _inst_6 i))) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
+but is expected to have type
+  forall (p : ENNReal) (𝕜 : Type.{u1}) {ι : Type.{u2}} (β : ι -> Type.{u3}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜] [_inst_5 : forall (i : ι), SeminormedAddCommGroup.{u3} (β i)] [_inst_6 : forall (i : ι), NormedSpace.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i)], ContinuousLinearEquiv.{u1, u1, max u3 u2, max u2 u3} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3))))) (PiLp.{u2, u3} p ι β) (UniformSpace.toTopologicalSpace.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.uniformSpace.{u2, u3} p ι β (fun (i : ι) => PseudoMetricSpace.toUniformSpace.{u3} (β i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β i) (_inst_5 i))))) (AddCommGroup.toAddCommMonoid.{max u2 u3} (PiLp.{u2, u3} p ι β) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u3} (PiLp.{u2, u3} p ι β) (PiLp.seminormedAddCommGroup.{u2, u3} p ι β _inst_1 _inst_2 (fun (i : ι) => _inst_5 i)))) (forall (i : ι), β i) (Pi.topologicalSpace.{u2, u3} ι (fun (i : ι) => β i) (fun (a : ι) => UniformSpace.toTopologicalSpace.{u3} (β a) (PseudoMetricSpace.toUniformSpace.{u3} (β a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (β a) (_inst_5 a))))) (Pi.addCommMonoid.{u2, u3} ι (fun (i : ι) => β i) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i)))) (PiLp.module.{u1, u2, u3} p 𝕜 ι β _inst_1 _inst_2 _inst_3 (fun (i : ι) => _inst_5 i) (fun (i : ι) => _inst_6 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => β i) 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (β i) (SeminormedAddCommGroup.toAddCommGroup.{u3} (β i) (_inst_5 i))) (fun (i : ι) => NormedSpace.toModule.{u1, u3} 𝕜 (β i) _inst_3 (_inst_5 i) (_inst_6 i)))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquivₓ'. -/
 /-- `pi_Lp.equiv` as a continuous linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i
@@ -942,32 +1363,53 @@ section Basis
 
 variable (ι)
 
+/- warning: pi_Lp.basis_fun -> PiLp.basisFun is a dubious translation:
+lean 3 declaration is
+  forall (p : ENNReal) (𝕜 : Type.{u1}) (ι : Type.{u2}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toHasLe.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 1 (OfNat.mk.{0} ENNReal 1 (One.one.{0} ENNReal (AddMonoidWithOne.toOne.{0} ENNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} ENNReal ENNReal.addCommMonoidWithOne))))) p)] [_inst_3 : NormedField.{u1} 𝕜], Basis.{u2, u1, max u2 u1} ι 𝕜 (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (Ring.toSemiring.{u1} 𝕜 (NormedRing.toRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (SeminormedAddCommGroup.toAddCommGroup.{max u2 u1} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (PiLp.seminormedAddCommGroup.{u2, u1} p ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 (fun (i : ι) => (fun (i : ι) => NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} ((fun (_x : ι) => 𝕜) i) (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedRing.toNonUnitalNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedCommRing.toNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedField.toNormedCommRing.{u1} ((fun (_x : ι) => 𝕜) i) _inst_3))))) i)))) (NormedSpace.toModule.{u1, max u2 u1} 𝕜 (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) _inst_3 (PiLp.seminormedAddCommGroup.{u2, u1} p ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 (fun (i : ι) => (fun (i : ι) => NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} ((fun (_x : ι) => 𝕜) i) (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedRing.toNonUnitalNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedCommRing.toNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedField.toNormedCommRing.{u1} ((fun (_x : ι) => 𝕜) i) _inst_3))))) i)) (PiLp.normedSpace.{u1, u2, u1} p 𝕜 ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 _inst_3 (fun (i : ι) => (fun (i : ι) => NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} ((fun (_x : ι) => 𝕜) i) (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedRing.toNonUnitalNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedCommRing.toNormedRing.{u1} ((fun (_x : ι) => 𝕜) i) (NormedField.toNormedCommRing.{u1} ((fun (_x : ι) => 𝕜) i) _inst_3))))) i) (fun (i : ι) => (fun (i : ι) => NormedField.toNormedSpace.{u1} 𝕜 _inst_3) i)))
+but is expected to have type
+  forall (p : ENNReal) (𝕜 : Type.{u1}) (ι : Type.{u2}) [_inst_1 : Fintype.{u2} ι] [_inst_2 : Fact (LE.le.{0} ENNReal (Preorder.toLE.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (OmegaCompletePartialOrder.toPartialOrder.{0} ENNReal (CompleteLattice.instOmegaCompletePartialOrder.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ENNReal 1 (One.toOfNat1.{0} ENNReal (CanonicallyOrderedCommSemiring.toOne.{0} ENNReal ENNReal.instCanonicallyOrderedCommSemiringENNReal))) p)] [_inst_3 : NormedField.{u1} 𝕜], Basis.{u2, u1, max u1 u2} ι 𝕜 (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 (NormedField.toField.{u1} 𝕜 _inst_3)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (NormedAddCommGroup.toAddCommGroup.{max u1 u2} (PiLp.{u2, u1} p ι (fun (_x : ι) => 𝕜)) (PiLp.normedAddCommGroup.{u2, u1} p ι (fun (_x : ι) => 𝕜) _inst_1 _inst_2 (fun (i : ι) => NonUnitalNormedRing.toNormedAddCommGroup.{u1} 𝕜 (NormedRing.toNonUnitalNormedRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3))))))) (PiLp.module.{u1, u2, u1} p 𝕜 ι (fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12725 : ι) => 𝕜) _inst_1 _inst_2 _inst_3 (fun (i : ι) => NormedAddCommGroup.toSeminormedAddCommGroup.{u1} ((fun (x._@.Mathlib.Analysis.NormedSpace.PiLp._hyg.12725 : ι) => 𝕜) i) ((fun (i : ι) => NonUnitalNormedRing.toNormedAddCommGroup.{u1} 𝕜 (NormedRing.toNonUnitalNormedRing.{u1} 𝕜 (NormedCommRing.toNormedRing.{u1} 𝕜 (NormedField.toNormedCommRing.{u1} 𝕜 _inst_3)))) i)) (fun (i : ι) => NormedField.toNormedSpace.{u1} 𝕜 _inst_3))
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun PiLp.basisFunₓ'. -/
 /-- A version of `pi.basis_fun` for `pi_Lp`. -/
 def basisFun : Basis ι 𝕜 (PiLp p fun _ => 𝕜) :=
   Basis.ofEquivFun (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜)
 #align pi_Lp.basis_fun PiLp.basisFun
 
+/- warning: pi_Lp.basis_fun_apply -> PiLp.basisFun_apply is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_apply PiLp.basisFun_applyₓ'. -/
 @[simp]
 theorem basisFun_apply [DecidableEq ι] (i) :
     basisFun p 𝕜 ι i = (PiLp.equiv p _).symm (Pi.single i 1) := by
   simp_rw [basis_fun, Basis.coe_ofEquivFun, PiLp.linearEquiv_symm_apply, Pi.single]
 #align pi_Lp.basis_fun_apply PiLp.basisFun_apply
 
+/- warning: pi_Lp.basis_fun_repr -> PiLp.basisFun_repr is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_repr PiLp.basisFun_reprₓ'. -/
 @[simp]
 theorem basisFun_repr (x : PiLp p fun i : ι => 𝕜) (i : ι) : (basisFun p 𝕜 ι).repr x i = x i :=
   rfl
 #align pi_Lp.basis_fun_repr PiLp.basisFun_repr
 
+/- warning: pi_Lp.basis_fun_equiv_fun -> PiLp.basisFun_equivFun is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFunₓ'. -/
 @[simp]
 theorem basisFun_equivFun : (basisFun p 𝕜 ι).equivFun = PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜 :=
   Basis.equivFun_ofEquivFun _
 #align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFun
 
+/- warning: pi_Lp.basis_fun_eq_pi_basis_fun -> PiLp.basisFun_eq_pi_basisFun is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_eq_pi_basis_fun PiLp.basisFun_eq_pi_basisFunₓ'. -/
 theorem basisFun_eq_pi_basisFun :
     basisFun p 𝕜 ι = (Pi.basisFun 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜).symm :=
   rfl
 #align pi_Lp.basis_fun_eq_pi_basis_fun PiLp.basisFun_eq_pi_basisFun
 
+/- warning: pi_Lp.basis_fun_map -> PiLp.basisFun_map is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_fun_map PiLp.basisFun_mapₓ'. -/
 @[simp]
 theorem basisFun_map :
     (basisFun p 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜) = Pi.basisFun 𝕜 ι :=
@@ -976,6 +1418,9 @@ theorem basisFun_map :
 
 open Matrix
 
+/- warning: pi_Lp.basis_to_matrix_basis_fun_mul -> PiLp.basis_toMatrix_basisFun_mul is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mulₓ'. -/
 theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun i : ι => 𝕜)) (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) ⬝ A =
       Matrix.of fun i j => b.repr ((PiLp.equiv _ _).symm (Aᵀ j)) i :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 8f9fea08977f7e450770933ee6abb20733b47c92
+! leanprover-community/mathlib commit 13bce9a6b6c44f6b4c91ac1c1d2a816e2533d395
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -958,6 +958,11 @@ theorem basisFun_repr (x : PiLp p fun i : ι => 𝕜) (i : ι) : (basisFun p 
   rfl
 #align pi_Lp.basis_fun_repr PiLp.basisFun_repr
 
+@[simp]
+theorem basisFun_equivFun : (basisFun p 𝕜 ι).equivFun = PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜 :=
+  Basis.equivFun_ofEquivFun _
+#align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFun
+
 theorem basisFun_eq_pi_basisFun :
     basisFun p 𝕜 ι = (Pi.basisFun 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜).symm :=
   rfl
Diff
@@ -4,12 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 8ff51ea9f2f5875755582577883fc99db1cfab88
+! leanprover-community/mathlib commit 8f9fea08977f7e450770933ee6abb20733b47c92
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.MeanInequalities
 import Mathbin.Data.Fintype.Order
+import Mathbin.LinearAlgebra.Matrix.Basis
 
 /-!
 # `L^p` distance on finite products of metric spaces
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit e9f2a838ee9090764d63f65168bb11d6ac732145
+! leanprover-community/mathlib commit 8ff51ea9f2f5875755582577883fc99db1cfab88
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -739,7 +739,8 @@ theorem LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
 @[simp]
 theorem LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq ι'] (e : ι ≃ ι')
     (i : ι) (v : E) :
-    LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e (Pi.single i v) = Pi.single (e i) v :=
+    LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e ((PiLp.equiv p fun _ => E).symm <| Pi.single i v) =
+      (PiLp.equiv p fun _ => E).symm (Pi.single (e i) v) :=
   by
   funext x
   simp [LinearIsometryEquiv.piLpCongrLeft, LinearEquiv.piCongrLeft', Equiv.piCongrLeft', Pi.single,
@@ -798,6 +799,64 @@ theorem equiv_symm_smul : (PiLp.equiv p β).symm (c • x') = c • (PiLp.equiv
   rfl
 #align pi_Lp.equiv_symm_smul PiLp.equiv_symm_smul
 
+section Single
+
+variable (p)
+
+variable [DecidableEq ι]
+
+@[simp]
+theorem nnnorm_equiv_symm_single (i : ι) (b : β i) :
+    ‖(PiLp.equiv p β).symm (Pi.single i b)‖₊ = ‖b‖₊ :=
+  by
+  haveI : Nonempty ι := ⟨i⟩
+  induction p using WithTop.recTopCoe
+  · simp_rw [nnnorm_eq_csupr, equiv_symm_apply]
+    refine' ciSup_eq_of_forall_le_of_forall_lt_exists_gt (fun j => _) fun n hn => ⟨i, hn.trans_eq _⟩
+    · obtain rfl | hij := Decidable.eq_or_ne i j
+      · rw [Pi.single_eq_same]
+      · rw [Pi.single_eq_of_ne' hij, nnnorm_zero]
+        exact zero_le _
+    · rw [Pi.single_eq_same]
+  · have hp0 : (p : ℝ) ≠ 0 := by
+      exact_mod_cast (zero_lt_one.trans_le <| Fact.out (1 ≤ (p : ℝ≥0∞))).ne'
+    rw [nnnorm_eq_sum ENNReal.coe_ne_top, ENNReal.coe_toReal, Fintype.sum_eq_single i,
+      equiv_symm_apply, Pi.single_eq_same, ← NNReal.rpow_mul, one_div, mul_inv_cancel hp0,
+      NNReal.rpow_one]
+    intro j hij
+    rw [equiv_symm_apply, Pi.single_eq_of_ne hij, nnnorm_zero, NNReal.zero_rpow hp0]
+#align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_single
+
+@[simp]
+theorem norm_equiv_symm_single (i : ι) (b : β i) : ‖(PiLp.equiv p β).symm (Pi.single i b)‖ = ‖b‖ :=
+  congr_arg coe <| nnnorm_equiv_symm_single p β i b
+#align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_single
+
+@[simp]
+theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
+    nndist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
+      nndist b₁ b₂ :=
+  by
+  rw [nndist_eq_nnnorm, nndist_eq_nnnorm, ← equiv_symm_sub, ← Pi.single_sub,
+    nnnorm_equiv_symm_single]
+#align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_same
+
+@[simp]
+theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
+    dist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
+      dist b₁ b₂ :=
+  congr_arg coe <| nndist_equiv_symm_single_same p β i b₁ b₂
+#align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_same
+
+@[simp]
+theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
+    edist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
+      edist b₁ b₂ :=
+  by simpa only [edist_nndist] using congr_arg coe (nndist_equiv_symm_single_same p β i b₁ b₂)
+#align pi_Lp.edist_equiv_symm_single_same PiLp.edist_equiv_symm_single_same
+
+end Single
+
 /-- When `p = ∞`, this lemma does not hold without the additional assumption `nonempty ι` because
 the left-hand side simplifies to `0`, while the right-hand side simplifies to `‖b‖₊`. See
 `pi_Lp.nnnorm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 2fd0de23fbbf0f8a84dbb7bc2e7a2da45de67f8b
+! leanprover-community/mathlib commit e9f2a838ee9090764d63f65168bb11d6ac732145
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -861,7 +861,7 @@ theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [O
 
 variable (𝕜 p)
 
-/-- `pi_Lp.equiv` as a linear map. -/
+/-- `pi_Lp.equiv` as a linear equivalence. -/
 @[simps (config := { fullyApplied := false })]
 protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
   { LinearEquiv.refl _ _ with
@@ -869,6 +869,15 @@ protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
     invFun := (PiLp.equiv _ _).symm }
 #align pi_Lp.linear_equiv PiLp.linearEquiv
 
+/-- `pi_Lp.equiv` as a continuous linear equivalence. -/
+@[simps (config := { fullyApplied := false })]
+protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i
+    where
+  toLinearEquiv := PiLp.linearEquiv _ _ _
+  continuous_toFun := continuous_equiv _ _
+  continuous_invFun := continuous_equiv_symm _ _
+#align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquiv
+
 section Basis
 
 variable (ι)
Diff
@@ -148,11 +148,11 @@ theorem edist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p β) :
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.edist_eq_sum PiLp.edist_eq_sum
 
-theorem edist_eq_supᵢ (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) :=
+theorem edist_eq_iSup (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) :=
   by
   dsimp [edist]
   exact if_neg ENNReal.top_ne_zero
-#align pi_Lp.edist_eq_supr PiLp.edist_eq_supᵢ
+#align pi_Lp.edist_eq_supr PiLp.edist_eq_iSup
 
 end Edist
 
@@ -292,9 +292,9 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β)
     rcases p.dichotomy with (rfl | hp)
     · simp only [edist_eq_supr]
       cases isEmpty_or_nonempty ι
-      · simp only [csupᵢ_of_empty, ENNReal.bot_eq_zero, add_zero, nonpos_iff_eq_zero]
+      · simp only [ciSup_of_empty, ENNReal.bot_eq_zero, add_zero, nonpos_iff_eq_zero]
       exact
-        supᵢ_le fun i => (edist_triangle _ (g i) _).trans <| add_le_add (le_supᵢ _ i) (le_supᵢ _ i)
+        iSup_le fun i => (edist_triangle _ (g i) _).trans <| add_le_add (le_iSup _ i) (le_iSup _ i)
     · simp only [edist_eq_sum (zero_lt_one.trans_le hp)]
       calc
         (∑ i, edist (f i) (h i) ^ p.to_real) ^ (1 / p.to_real) ≤
@@ -314,15 +314,15 @@ attribute [local instance] PiLp.pseudoEmetricAux
 
 /-- An auxiliary lemma used twice in the proof of `pi_Lp.pseudo_metric_aux` below. Not intended for
 use outside this file. -/
-theorem supᵢ_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
+theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
     [∀ i, PseudoMetricSpace (α i)] (f g : PiLp ∞ α) : (⨆ i, edist (f i) (g i)) ≠ ⊤ :=
   by
   cases nonempty_fintype ι
   obtain ⟨M, hM⟩ := Fintype.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
-  refine' ne_of_lt ((supᵢ_le fun i => _).trans_lt (@ENNReal.coe_lt_top M))
+  refine' ne_of_lt ((iSup_le fun i => _).trans_lt (@ENNReal.coe_lt_top M))
   simp only [edist, PseudoMetricSpace.edist_dist, ENNReal.ofReal_eq_coe_nnreal dist_nonneg]
   exact_mod_cast hM i
-#align pi_Lp.supr_edist_ne_top_aux PiLp.supᵢ_edist_ne_top_aux
+#align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_aux
 
 /-- Endowing the space `pi_Lp p α` with the `L^p` pseudometric structure. This definition is not
 satisfactory, as it does not register the fact that the topology, the uniform structure, and the
@@ -349,17 +349,17 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
     rcases p.dichotomy with (rfl | h)
     · rw [edist_eq_supr, dist_eq_csupr]
       · cases isEmpty_or_nonempty ι
-        · simp only [Real.csupᵢ_empty, csupᵢ_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
-        · refine' le_antisymm (csupᵢ_le fun i => _) _
+        · simp only [Real.ciSup_empty, ciSup_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
+        · refine' le_antisymm (ciSup_le fun i => _) _
           · rw [← ENNReal.ofReal_le_iff_le_toReal (supr_edist_ne_top_aux f g), ←
               PseudoMetricSpace.edist_dist]
-            exact le_supᵢ _ i
-          · refine' ENNReal.toReal_le_of_le_ofReal (Real.supₛ_nonneg _ _) (supᵢ_le fun i => _)
+            exact le_iSup _ i
+          · refine' ENNReal.toReal_le_of_le_ofReal (Real.sSup_nonneg _ _) (iSup_le fun i => _)
             · rintro - ⟨i, rfl⟩
               exact dist_nonneg
             · unfold edist
               rw [PseudoMetricSpace.edist_dist]
-              exact ENNReal.ofReal_le_ofReal (le_csupᵢ (Fintype.bddAbove_range _) i)
+              exact ENNReal.ofReal_le_ofReal (le_ciSup (Fintype.bddAbove_range _) i)
     · have A : ∀ i, edist (f i) (g i) ^ p.to_real ≠ ⊤ := fun i =>
         ENNReal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)
       simp only [edist_eq_sum (zero_lt_one.trans_le h), dist_edist, ENNReal.toReal_rpow,
@@ -374,7 +374,7 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
   rcases p.dichotomy with (rfl | h)
   ·
     simpa only [ENNReal.coe_one, one_mul, edist_eq_supr, edist, Finset.sup_le_iff, Finset.mem_univ,
-      forall_true_left] using le_supᵢ fun i => edist (x i) (y i)
+      forall_true_left] using le_iSup fun i => edist (x i) (y i)
   · have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le h).ne'
     rw [edist_eq_sum (zero_lt_one.trans_le h)]
     simp only [edist, forall_prop_of_true, one_mul, Finset.mem_univ, Finset.sup_le_iff,
@@ -396,7 +396,7 @@ theorem antilipschitzWith_equiv_aux :
   intro x y
   rcases p.dichotomy with (rfl | h)
   · simp only [edist_eq_supr, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero,
-      ENNReal.coe_one, one_mul, supᵢ_le_iff]
+      ENNReal.coe_one, one_mul, iSup_le_iff]
     exact fun i => Finset.le_sup (Finset.mem_univ i)
   · have pos : 0 < p.to_real := zero_lt_one.trans_le h
     have nonneg : 0 ≤ 1 / p.to_real := one_div_nonneg.2 (le_of_lt Pos)
@@ -508,12 +508,12 @@ theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [
     exact dist_eq_sum (p.to_real_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
 
-theorem nndist_eq_supᵢ {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
+theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
   Subtype.ext <| by
     push_cast
     exact dist_eq_csupr _ _
-#align pi_Lp.nndist_eq_supr PiLp.nndist_eq_supᵢ
+#align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
 
 theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
   lipschitzWith_equiv_aux p β
@@ -566,7 +566,7 @@ theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp
 theorem nnnorm_eq_csupr {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
     ‖f‖₊ = ⨆ i, ‖f i‖₊ := by
   ext
-  simp [NNReal.coe_supᵢ, norm_eq_csupr]
+  simp [NNReal.coe_iSup, norm_eq_csupr]
 #align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_csupr
 
 theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
@@ -627,7 +627,7 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
       rcases p.dichotomy with (rfl | hp)
       · letI : Module 𝕜 (PiLp ∞ β) := Pi.module ι β 𝕜
         suffices ‖c • f‖₊ = ‖c‖₊ * ‖f‖₊ by exact_mod_cast NNReal.coe_mono this.le
-        simpa only [nnnorm_eq_csupr, NNReal.mul_supᵢ, ← nnnorm_smul]
+        simpa only [nnnorm_eq_csupr, NNReal.mul_iSup, ← nnnorm_smul]
       · have : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le hp).ne'
         simp only [norm_eq_sum (zero_lt_one.trans_le hp), norm_smul, mul_rpow, norm_nonneg, ←
           Finset.mul_sum, Pi.smul_apply]
@@ -691,12 +691,12 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
     norm_map' := fun f =>
       by
       suffices (finset.univ.sup fun i => ‖f i‖₊) = ⨆ i, ‖f i‖₊ by
-        simpa only [NNReal.coe_supᵢ] using congr_arg (coe : ℝ≥0 → ℝ) this
+        simpa only [NNReal.coe_iSup] using congr_arg (coe : ℝ≥0 → ℝ) this
       refine'
-        antisymm (Finset.sup_le fun i _ => le_csupᵢ (Fintype.bddAbove_range fun i => ‖f i‖₊) _) _
+        antisymm (Finset.sup_le fun i _ => le_ciSup (Fintype.bddAbove_range fun i => ‖f i‖₊) _) _
       cases isEmpty_or_nonempty ι
-      · simp only [csupᵢ_of_empty, Finset.univ_eq_empty, Finset.sup_empty]
-      · exact csupᵢ_le fun i => Finset.le_sup (Finset.mem_univ i) }
+      · simp only [ciSup_of_empty, Finset.univ_eq_empty, Finset.sup_empty]
+      · exact ciSup_le fun i => Finset.le_sup (Finset.mem_univ i) }
 #align pi_Lp.equivₗᵢ PiLp.equivₗᵢ
 
 variable {ι' : Type _}
@@ -825,7 +825,7 @@ theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι]
   rcases em <| p = ∞ with (rfl | hp)
   ·
     simp only [equiv_symm_apply, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero, one_mul,
-      nnnorm_eq_csupr, Function.const_apply, csupᵢ_const]
+      nnnorm_eq_csupr, Function.const_apply, ciSup_const]
   · exact nnnorm_equiv_symm_const hp b
 #align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 195fcd60ff2bfe392543bceb0ec2adcdb472db4c
+! leanprover-community/mathlib commit 2fd0de23fbbf0f8a84dbb7bc2e7a2da45de67f8b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -84,7 +84,7 @@ instance (p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) [∀ i, Inhabited (
 
 namespace PiLp
 
-variable (p : ℝ≥0∞) (𝕜 : Type _) {ι : Type _} (α : ι → Type _) (β : ι → Type _)
+variable (p : ℝ≥0∞) (𝕜 𝕜' : Type _) {ι : Type _} (α : ι → Type _) (β : ι → Type _)
 
 /-- Canonical bijection between `pi_Lp p α` and the original Pi type. We introduce it to be able
 to compare the `L^p` and `L^∞` distances through it. -/
@@ -617,7 +617,7 @@ theorem edist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
 
-variable [NormedField 𝕜]
+variable [NormedField 𝕜] [NormedField 𝕜']
 
 /-- The product of finitely many normed spaces is a normed space, with the `L^p` norm. -/
 instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
@@ -636,6 +636,16 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
         exact Finset.sum_nonneg fun i hi => rpow_nonneg_of_nonneg (norm_nonneg _) _ }
 #align pi_Lp.normed_space PiLp.normedSpace
 
+instance isScalarTower [∀ i, SeminormedAddCommGroup (β i)] [SMul 𝕜 𝕜'] [∀ i, NormedSpace 𝕜 (β i)]
+    [∀ i, NormedSpace 𝕜' (β i)] [∀ i, IsScalarTower 𝕜 𝕜' (β i)] : IsScalarTower 𝕜 𝕜' (PiLp p β) :=
+  Pi.isScalarTower
+#align pi_Lp.is_scalar_tower PiLp.isScalarTower
+
+instance sMulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
+    [∀ i, NormedSpace 𝕜' (β i)] [∀ i, SMulCommClass 𝕜 𝕜' (β i)] : SMulCommClass 𝕜 𝕜' (PiLp p β) :=
+  Pi.smulCommClass
+#align pi_Lp.smul_comm_class PiLp.sMulCommClass
+
 instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
     [I : ∀ i, FiniteDimensional 𝕜 (β i)] : FiniteDimensional 𝕜 (PiLp p β) :=
   FiniteDimensional.finiteDimensional_pi' _ _
@@ -643,7 +653,7 @@ instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, Normed
 
 /- Register simplification lemmas for the applications of `pi_Lp` elements, as the usual lemmas
 for Pi types will not trigger. -/
-variable {𝕜 p α} [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] (c : 𝕜)
+variable {𝕜 𝕜' p α} [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] (c : 𝕜)
 
 variable (x y : PiLp p β) (x' y' : ∀ i, β i) (i : ι)
 
Diff
@@ -221,7 +221,7 @@ end Dist
 
 section Norm
 
-variable [∀ i, HasNorm (β i)] [∀ i, Zero (β i)]
+variable [∀ i, Norm (β i)] [∀ i, Zero (β i)]
 
 /-- Endowing the space `pi_Lp p β` with the `L^p` norm. We register this instance
 separate from `pi_Lp.seminormed_add_comm_group` since the latter requires the type class hypothesis
@@ -229,7 +229,7 @@ separate from `pi_Lp.seminormed_add_comm_group` since the latter requires the ty
 
 Registering this separately allows for a future norm-like structure on `pi_Lp p β` for `p < 1`
 satisfying a relaxed triangle inequality. These are called *quasi-norms*. -/
-instance hasNorm : HasNorm (PiLp p β)
+instance hasNorm : Norm (PiLp p β)
     where norm f :=
     if hp : p = 0 then { i | f i ≠ 0 }.toFinite.toFinset.card
     else if p = ∞ then ⨆ i, ‖f i‖ else (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal)
Diff
@@ -184,7 +184,7 @@ end EdistProp
 
 section Dist
 
-variable [∀ i, HasDist (α i)]
+variable [∀ i, Dist (α i)]
 
 /-- Endowing the space `pi_Lp p β` with the `L^p` distance. We register this instance
 separate from `pi_Lp.pseudo_metric` since the latter requires the type class hypothesis
@@ -193,7 +193,7 @@ separate from `pi_Lp.pseudo_metric` since the latter requires the type class hyp
 Registering this separately allows for a future metric-like structure on `pi_Lp p β` for `p < 1`
 satisfying a relaxed triangle inequality. The terminology for this varies throughout the
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
-instance : HasDist (PiLp p α)
+instance : Dist (PiLp p α)
     where dist f g :=
     if hp : p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
     else
Diff
@@ -121,7 +121,7 @@ lemmas for each of three cases `p = 0`, `p = ∞` and `0 < p.to_real`.
 
 section Edist
 
-variable [∀ i, HasEdist (β i)]
+variable [∀ i, EDist (β i)]
 
 /-- Endowing the space `pi_Lp p β` with the `L^p` edistance. We register this instance
 separate from `pi_Lp.pseudo_emetric` since the latter requires the type class hypothesis
@@ -130,7 +130,7 @@ separate from `pi_Lp.pseudo_emetric` since the latter requires the type class hy
 Registering this separately allows for a future emetric-like structure on `pi_Lp p β` for `p < 1`
 satisfying a relaxed triangle inequality. The terminology for this varies throughout the
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
-instance : HasEdist (PiLp p β)
+instance : EDist (PiLp p β)
     where edist f g :=
     if hp : p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
     else
@@ -158,7 +158,7 @@ end Edist
 
 section EdistProp
 
-variable {β} [∀ i, PseudoEmetricSpace (β i)]
+variable {β} [∀ i, PseudoEMetricSpace (β i)]
 
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
@@ -274,7 +274,7 @@ explaining why having definitionally the right uniformity is often important.
 -/
 
 
-variable [Fact (1 ≤ p)] [∀ i, PseudoMetricSpace (α i)] [∀ i, PseudoEmetricSpace (β i)]
+variable [Fact (1 ≤ p)] [∀ i, PseudoMetricSpace (α i)] [∀ i, PseudoEMetricSpace (β i)]
 
 variable [Fintype ι]
 
@@ -284,7 +284,7 @@ with the product one. Therefore, we do not register it as an instance. Using thi
 pseudoemetric space instance, we will show that the uniform structure is equal (but not defeq) to
 the product one, and then register an instance in which we replace the uniform structure by the
 product one using this pseudoemetric space and `pseudo_emetric_space.replace_uniformity`. -/
-def pseudoEmetricAux : PseudoEmetricSpace (PiLp p β)
+def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β)
     where
   edist_self := PiLp.edist_self p
   edist_comm := PiLp.edist_comm p
@@ -335,7 +335,7 @@ structure and the bornology by the product ones using this pseudometric space,
 See note [reducible non-instances] -/
 @[reducible]
 def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
-  PseudoEmetricSpace.toPseudoMetricSpaceOfDist dist
+  PseudoEMetricSpace.toPseudoMetricSpaceOfDist dist
     (fun f g => by
       rcases p.dichotomy with (rfl | h)
       · exact supr_edist_ne_top_aux f g
@@ -481,13 +481,13 @@ variable [Fact (1 ≤ p)]
 
 /-- pseudoemetric space instance on the product of finitely many pseudoemetric spaces, using the
 `L^p` pseudoedistance, and having as uniformity the product uniformity. -/
-instance [∀ i, PseudoEmetricSpace (β i)] : PseudoEmetricSpace (PiLp p β) :=
+instance [∀ i, PseudoEMetricSpace (β i)] : PseudoEMetricSpace (PiLp p β) :=
   (pseudoEmetricAux p β).replaceUniformity (aux_uniformity_eq p β).symm
 
 /-- emetric space instance on the product of finitely many emetric spaces, using the `L^p`
 edistance, and having as uniformity the product uniformity. -/
-instance [∀ i, EmetricSpace (α i)] : EmetricSpace (PiLp p α) :=
-  @EmetricSpace.ofT0PseudoEmetricSpace (PiLp p α) _ Pi.t0Space
+instance [∀ i, EMetricSpace (α i)] : EMetricSpace (PiLp p α) :=
+  @EMetricSpace.ofT0PseudoEMetricSpace (PiLp p α) _ Pi.t0Space
 
 /-- pseudometric space instance on the product of finitely many psuedometric spaces, using the
 `L^p` distance, and having as uniformity the product uniformity. -/
@@ -515,16 +515,16 @@ theorem nndist_eq_supᵢ {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     exact dist_eq_csupr _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_supᵢ
 
-theorem lipschitzWith_equiv [∀ i, PseudoEmetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
+theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
   lipschitzWith_equiv_aux p β
 #align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equiv
 
-theorem antilipschitzWith_equiv [∀ i, PseudoEmetricSpace (β i)] :
+theorem antilipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] :
     AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
   antilipschitzWith_equiv_aux p β
 #align pi_Lp.antilipschitz_with_equiv PiLp.antilipschitzWith_equiv
 
-theorem infty_equiv_isometry [∀ i, PseudoEmetricSpace (β i)] : Isometry (PiLp.equiv ∞ β) :=
+theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp.equiv ∞ β) :=
   fun x y =>
   le_antisymm (by simpa only [ENNReal.coe_one, one_mul] using lipschitz_with_equiv ∞ β x y)
     (by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 38d38e090c9bcfba03ecbe350534d1b1a2660bd6
+! leanprover-community/mathlib commit 195fcd60ff2bfe392543bceb0ec2adcdb472db4c
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -487,7 +487,7 @@ instance [∀ i, PseudoEmetricSpace (β i)] : PseudoEmetricSpace (PiLp p β) :=
 /-- emetric space instance on the product of finitely many emetric spaces, using the `L^p`
 edistance, and having as uniformity the product uniformity. -/
 instance [∀ i, EmetricSpace (α i)] : EmetricSpace (PiLp p α) :=
-  @Emetric.ofT0PseudoEmetricSpace (PiLp p α) _ Pi.t0Space
+  @EmetricSpace.ofT0PseudoEmetricSpace (PiLp p α) _ Pi.t0Space
 
 /-- pseudometric space instance on the product of finitely many psuedometric spaces, using the
 `L^p` distance, and having as uniformity the product uniformity. -/
@@ -498,7 +498,7 @@ instance [∀ i, PseudoMetricSpace (β i)] : PseudoMetricSpace (PiLp p β) :=
 /-- metric space instance on the product of finitely many metric spaces, using the `L^p` distance,
 and having as uniformity the product uniformity. -/
 instance [∀ i, MetricSpace (α i)] : MetricSpace (PiLp p α) :=
-  Metric.ofT0PseudoMetricSpace _
+  MetricSpace.ofT0PseudoMetricSpace _
 
 theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
Diff
@@ -66,7 +66,7 @@ We also set up the theory for `pseudo_emetric_space` and `pseudo_metric_space`.
 
 open Real Set Filter IsROrC Bornology
 
-open BigOperators uniformity Topology NNReal Ennreal
+open BigOperators uniformity Topology NNReal ENNReal
 
 noncomputable section
 
@@ -144,14 +144,14 @@ theorem edist_eq_card (f g : PiLp 0 β) : edist f g = { i | f i ≠ g i }.toFini
 
 theorem edist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p β) :
     edist f g = (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
-  let hp' := Ennreal.toReal_pos_iff.mp hp
+  let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.edist_eq_sum PiLp.edist_eq_sum
 
 theorem edist_eq_supᵢ (f g : PiLp ∞ β) : edist f g = ⨆ i, edist (f i) (g i) :=
   by
   dsimp [edist]
-  exact if_neg Ennreal.top_ne_zero
+  exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.edist_eq_supr PiLp.edist_eq_supᵢ
 
 end Edist
@@ -167,7 +167,7 @@ protected theorem edist_self (f : PiLp p β) : edist f f = 0 :=
   rcases p.trichotomy with (rfl | rfl | h)
   · simp [edist_eq_card]
   · simp [edist_eq_supr]
-  · simp [edist_eq_sum h, Ennreal.zero_rpow_of_pos h, Ennreal.zero_rpow_of_pos (inv_pos.2 <| h)]
+  · simp [edist_eq_sum h, ENNReal.zero_rpow_of_pos h, ENNReal.zero_rpow_of_pos (inv_pos.2 <| h)]
 #align pi_Lp.edist_self PiLp.edist_self
 
 /-- This holds independent of `p` and does not require `[fact (1 ≤ p)]`. We keep it separate
@@ -207,14 +207,14 @@ theorem dist_eq_card (f g : PiLp 0 α) : dist f g = { i | f i ≠ g i }.toFinite
 
 theorem dist_eq_sum {p : ℝ≥0∞} (hp : 0 < p.toReal) (f g : PiLp p α) :
     dist f g = (∑ i, dist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) :=
-  let hp' := Ennreal.toReal_pos_iff.mp hp
+  let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.dist_eq_sum PiLp.dist_eq_sum
 
 theorem dist_eq_csupr (f g : PiLp ∞ α) : dist f g = ⨆ i, dist (f i) (g i) :=
   by
   dsimp [dist]
-  exact if_neg Ennreal.top_ne_zero
+  exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.dist_eq_csupr PiLp.dist_eq_csupr
 
 end Dist
@@ -244,12 +244,12 @@ theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = { i | f i ≠ 0 }.toFinite.toFi
 theorem norm_eq_csupr (f : PiLp ∞ β) : ‖f‖ = ⨆ i, ‖f i‖ :=
   by
   dsimp [norm]
-  exact if_neg Ennreal.top_ne_zero
+  exact if_neg ENNReal.top_ne_zero
 #align pi_Lp.norm_eq_csupr PiLp.norm_eq_csupr
 
 theorem norm_eq_sum (hp : 0 < p.toReal) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal) :=
-  let hp' := Ennreal.toReal_pos_iff.mp hp
+  let hp' := ENNReal.toReal_pos_iff.mp hp
   (if_neg hp'.1.ne').trans (if_neg hp'.2.Ne)
 #align pi_Lp.norm_eq_sum PiLp.norm_eq_sum
 
@@ -292,7 +292,7 @@ def pseudoEmetricAux : PseudoEmetricSpace (PiLp p β)
     rcases p.dichotomy with (rfl | hp)
     · simp only [edist_eq_supr]
       cases isEmpty_or_nonempty ι
-      · simp only [csupᵢ_of_empty, Ennreal.bot_eq_zero, add_zero, nonpos_iff_eq_zero]
+      · simp only [csupᵢ_of_empty, ENNReal.bot_eq_zero, add_zero, nonpos_iff_eq_zero]
       exact
         supᵢ_le fun i => (edist_triangle _ (g i) _).trans <| add_le_add (le_supᵢ _ i) (le_supᵢ _ i)
     · simp only [edist_eq_sum (zero_lt_one.trans_le hp)]
@@ -300,13 +300,13 @@ def pseudoEmetricAux : PseudoEmetricSpace (PiLp p β)
         (∑ i, edist (f i) (h i) ^ p.to_real) ^ (1 / p.to_real) ≤
             (∑ i, (edist (f i) (g i) + edist (g i) (h i)) ^ p.to_real) ^ (1 / p.to_real) :=
           by
-          apply Ennreal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans hp)
+          apply ENNReal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans hp)
           refine' Finset.sum_le_sum fun i hi => _
-          exact Ennreal.rpow_le_rpow (edist_triangle _ _ _) (zero_le_one.trans hp)
+          exact ENNReal.rpow_le_rpow (edist_triangle _ _ _) (zero_le_one.trans hp)
         _ ≤
             (∑ i, edist (f i) (g i) ^ p.to_real) ^ (1 / p.to_real) +
               (∑ i, edist (g i) (h i) ^ p.to_real) ^ (1 / p.to_real) :=
-          Ennreal.Lp_add_le _ _ _ hp
+          ENNReal.Lp_add_le _ _ _ hp
         
 #align pi_Lp.pseudo_emetric_aux PiLp.pseudoEmetricAux
 
@@ -319,8 +319,8 @@ theorem supᵢ_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
   by
   cases nonempty_fintype ι
   obtain ⟨M, hM⟩ := Fintype.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
-  refine' ne_of_lt ((supᵢ_le fun i => _).trans_lt (@Ennreal.coe_lt_top M))
-  simp only [edist, PseudoMetricSpace.edist_dist, Ennreal.ofReal_eq_coe_nNReal dist_nonneg]
+  refine' ne_of_lt ((supᵢ_le fun i => _).trans_lt (@ENNReal.coe_lt_top M))
+  simp only [edist, PseudoMetricSpace.edist_dist, ENNReal.ofReal_eq_coe_nnreal dist_nonneg]
   exact_mod_cast hM i
 #align pi_Lp.supr_edist_ne_top_aux PiLp.supᵢ_edist_ne_top_aux
 
@@ -341,29 +341,29 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
       · exact supr_edist_ne_top_aux f g
       · rw [edist_eq_sum (zero_lt_one.trans_le h)]
         exact
-          Ennreal.rpow_ne_top_of_nonneg (one_div_nonneg.2 (zero_le_one.trans h))
+          ENNReal.rpow_ne_top_of_nonneg (one_div_nonneg.2 (zero_le_one.trans h))
             (ne_of_lt <|
-              Ennreal.sum_lt_top fun i hi =>
-                Ennreal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)))
+              ENNReal.sum_lt_top fun i hi =>
+                ENNReal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)))
     fun f g => by
     rcases p.dichotomy with (rfl | h)
     · rw [edist_eq_supr, dist_eq_csupr]
       · cases isEmpty_or_nonempty ι
-        · simp only [Real.csupᵢ_empty, csupᵢ_of_empty, Ennreal.bot_eq_zero, Ennreal.zero_toReal]
+        · simp only [Real.csupᵢ_empty, csupᵢ_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
         · refine' le_antisymm (csupᵢ_le fun i => _) _
-          · rw [← Ennreal.ofReal_le_iff_le_toReal (supr_edist_ne_top_aux f g), ←
+          · rw [← ENNReal.ofReal_le_iff_le_toReal (supr_edist_ne_top_aux f g), ←
               PseudoMetricSpace.edist_dist]
             exact le_supᵢ _ i
-          · refine' Ennreal.toReal_le_of_le_ofReal (Real.supₛ_nonneg _ _) (supᵢ_le fun i => _)
+          · refine' ENNReal.toReal_le_of_le_ofReal (Real.supₛ_nonneg _ _) (supᵢ_le fun i => _)
             · rintro - ⟨i, rfl⟩
               exact dist_nonneg
             · unfold edist
               rw [PseudoMetricSpace.edist_dist]
-              exact Ennreal.ofReal_le_ofReal (le_csupᵢ (Fintype.bddAbove_range _) i)
+              exact ENNReal.ofReal_le_ofReal (le_csupᵢ (Fintype.bddAbove_range _) i)
     · have A : ∀ i, edist (f i) (g i) ^ p.to_real ≠ ⊤ := fun i =>
-        Ennreal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)
-      simp only [edist_eq_sum (zero_lt_one.trans_le h), dist_edist, Ennreal.toReal_rpow,
-        dist_eq_sum (zero_lt_one.trans_le h), ← Ennreal.toReal_sum fun i _ => A i]
+        ENNReal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)
+      simp only [edist_eq_sum (zero_lt_one.trans_le h), dist_edist, ENNReal.toReal_rpow,
+        dist_eq_sum (zero_lt_one.trans_le h), ← ENNReal.toReal_sum fun i _ => A i]
 #align pi_Lp.pseudo_metric_aux PiLp.pseudoMetricAux
 
 attribute [local instance] PiLp.pseudoMetricAux
@@ -373,19 +373,19 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) :=
   intro x y
   rcases p.dichotomy with (rfl | h)
   ·
-    simpa only [Ennreal.coe_one, one_mul, edist_eq_supr, edist, Finset.sup_le_iff, Finset.mem_univ,
+    simpa only [ENNReal.coe_one, one_mul, edist_eq_supr, edist, Finset.sup_le_iff, Finset.mem_univ,
       forall_true_left] using le_supᵢ fun i => edist (x i) (y i)
   · have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le h).ne'
     rw [edist_eq_sum (zero_lt_one.trans_le h)]
     simp only [edist, forall_prop_of_true, one_mul, Finset.mem_univ, Finset.sup_le_iff,
-      Ennreal.coe_one]
+      ENNReal.coe_one]
     intro i
     calc
       edist (x i) (y i) = (edist (x i) (y i) ^ p.to_real) ^ (1 / p.to_real) := by
-        simp [← Ennreal.rpow_mul, cancel, -one_div]
+        simp [← ENNReal.rpow_mul, cancel, -one_div]
       _ ≤ (∑ i, edist (x i) (y i) ^ p.to_real) ^ (1 / p.to_real) :=
         by
-        apply Ennreal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans h)
+        apply ENNReal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans h)
         exact Finset.single_le_sum (fun i hi => (bot_le : (0 : ℝ≥0∞) ≤ _)) (Finset.mem_univ i)
       
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
@@ -395,31 +395,31 @@ theorem antilipschitzWith_equiv_aux :
   by
   intro x y
   rcases p.dichotomy with (rfl | h)
-  · simp only [edist_eq_supr, Ennreal.div_top, Ennreal.zero_toReal, NNReal.rpow_zero,
-      Ennreal.coe_one, one_mul, supᵢ_le_iff]
+  · simp only [edist_eq_supr, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero,
+      ENNReal.coe_one, one_mul, supᵢ_le_iff]
     exact fun i => Finset.le_sup (Finset.mem_univ i)
   · have pos : 0 < p.to_real := zero_lt_one.trans_le h
     have nonneg : 0 ≤ 1 / p.to_real := one_div_nonneg.2 (le_of_lt Pos)
     have cancel : p.to_real * (1 / p.to_real) = 1 := mul_div_cancel' 1 (ne_of_gt Pos)
-    rw [edist_eq_sum Pos, Ennreal.toReal_div 1 p]
-    simp only [edist, ← one_div, Ennreal.one_toReal]
+    rw [edist_eq_sum Pos, ENNReal.toReal_div 1 p]
+    simp only [edist, ← one_div, ENNReal.one_toReal]
     calc
       (∑ i, edist (x i) (y i) ^ p.to_real) ^ (1 / p.to_real) ≤
           (∑ i, edist (PiLp.equiv p β x) (PiLp.equiv p β y) ^ p.to_real) ^ (1 / p.to_real) :=
         by
-        apply Ennreal.rpow_le_rpow _ nonneg
+        apply ENNReal.rpow_le_rpow _ nonneg
         apply Finset.sum_le_sum fun i hi => _
-        apply Ennreal.rpow_le_rpow _ (le_of_lt Pos)
+        apply ENNReal.rpow_le_rpow _ (le_of_lt Pos)
         exact Finset.le_sup (Finset.mem_univ i)
       _ =
           ((Fintype.card ι : ℝ≥0) ^ (1 / p.to_real) : ℝ≥0) *
             edist (PiLp.equiv p β x) (PiLp.equiv p β y) :=
         by
-        simp only [nsmul_eq_mul, Finset.card_univ, Ennreal.rpow_one, Finset.sum_const,
-          Ennreal.mul_rpow_of_nonneg _ _ nonneg, ← Ennreal.rpow_mul, cancel]
+        simp only [nsmul_eq_mul, Finset.card_univ, ENNReal.rpow_one, Finset.sum_const,
+          ENNReal.mul_rpow_of_nonneg _ _ nonneg, ← ENNReal.rpow_mul, cancel]
         have : (Fintype.card ι : ℝ≥0∞) = (Fintype.card ι : ℝ≥0) :=
-          (Ennreal.coe_nat (Fintype.card ι)).symm
-        rw [this, Ennreal.coe_rpow_of_nonneg _ nonneg]
+          (ENNReal.coe_nat (Fintype.card ι)).symm
+        rw [this, ENNReal.coe_rpow_of_nonneg _ nonneg]
       
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 
@@ -526,9 +526,9 @@ theorem antilipschitzWith_equiv [∀ i, PseudoEmetricSpace (β i)] :
 
 theorem infty_equiv_isometry [∀ i, PseudoEmetricSpace (β i)] : Isometry (PiLp.equiv ∞ β) :=
   fun x y =>
-  le_antisymm (by simpa only [Ennreal.coe_one, one_mul] using lipschitz_with_equiv ∞ β x y)
+  le_antisymm (by simpa only [ENNReal.coe_one, one_mul] using lipschitz_with_equiv ∞ β x y)
     (by
-      simpa only [Ennreal.div_top, Ennreal.zero_toReal, NNReal.rpow_zero, Ennreal.coe_one,
+      simpa only [ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero, ENNReal.coe_one,
         one_mul] using antilipschitz_with_equiv ∞ β x y)
 #align pi_Lp.infty_equiv_isometry PiLp.infty_equiv_isometry
 
@@ -544,7 +544,7 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
       · simpa only [dist_eq_csupr, norm_eq_csupr, dist_eq_norm]
       · have : p ≠ ∞ := by
           intro hp
-          rw [hp, Ennreal.top_toReal] at h
+          rw [hp, ENNReal.top_toReal] at h
           linarith
         simpa only [dist_eq_sum (zero_lt_one.trans_le h), norm_eq_sum (zero_lt_one.trans_le h),
           dist_eq_norm] }
@@ -573,8 +573,8 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) :=
   by
-  have := p.to_real_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| Ennreal.nat_ne_top n)
-  simp only [one_div, h, Real.rpow_nat_cast, Ennreal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
+  have := p.to_real_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.nat_ne_top n)
+  simp only [one_div, h, Real.rpow_nat_cast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
@@ -801,7 +801,7 @@ theorem nnnorm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞
   · have ne_zero : p.to_real ≠ 0 := (zero_lt_one.trans_le h).ne'
     simp_rw [nnnorm_eq_sum hp, equiv_symm_apply, Function.const_apply, Finset.sum_const,
       Finset.card_univ, nsmul_eq_mul, NNReal.mul_rpow, ← NNReal.rpow_mul, mul_one_div_cancel NeZero,
-      NNReal.rpow_one, Ennreal.toReal_div, Ennreal.one_toReal]
+      NNReal.rpow_one, ENNReal.toReal_div, ENNReal.one_toReal]
 #align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_const
 
 /-- When `is_empty ι`, this lemma does not hold without the additional assumption `p ≠ ∞` because
@@ -814,7 +814,7 @@ theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι]
   by
   rcases em <| p = ∞ with (rfl | hp)
   ·
-    simp only [equiv_symm_apply, Ennreal.div_top, Ennreal.zero_toReal, NNReal.rpow_zero, one_mul,
+    simp only [equiv_symm_apply, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero, one_mul,
       nnnorm_eq_csupr, Function.const_apply, csupᵢ_const]
   · exact nnnorm_equiv_symm_const hp b
 #align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'

Changes in mathlib4

mathlib3
mathlib4
feat: add LinearIsometryEquiv.piLpCongrRight (#12437)

Also relax some typeclasses on piLpCongrLeft.

Diff
@@ -679,8 +679,8 @@ instance normedSpace [NormedField 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
 #align pi_Lp.normed_space PiLp.normedSpace
 
 variable {𝕜 p α}
-variable [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
-variable [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] (c : 𝕜)
+variable [Semiring 𝕜] [∀ i, SeminormedAddCommGroup (α i)] [∀ i, SeminormedAddCommGroup (β i)]
+variable [∀ i, Module 𝕜 (α i)] [∀ i, Module 𝕜 (β i)] (c : 𝕜)
 
 /-- The canonical map `WithLp.equiv` between `PiLp ∞ β` and `Π i, β i` as a linear isometric
 equivalence. -/
@@ -691,10 +691,11 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
     norm_map' := norm_equiv }
 #align pi_Lp.equivₗᵢ PiLp.equivₗᵢ
 
+section piLpCongrLeft
 variable {ι' : Type*}
 variable [Fintype ι']
 variable (p 𝕜)
-variable (E : Type*) [NormedAddCommGroup E] [Module 𝕜 E] [BoundedSMul 𝕜 E]
+variable (E : Type*) [SeminormedAddCommGroup E] [Module 𝕜 E]
 
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
@@ -741,6 +742,58 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [Decida
     Pi.single, Function.update, Equiv.symm_apply_eq]
 #align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_single
 
+end piLpCongrLeft
+
+section piLpCongrRight
+variable {β}
+
+variable (p) in
+/-- A family of linearly isometric equivalences in the codomain induces an isometric equivalence
+between Pi types with the Lp norm.
+
+This is the isometry version of `LinearEquiv.piCongrRight`. -/
+protected def _root_.LinearIsometryEquiv.piLpCongrRight (e : ∀ i, α i ≃ₗᵢ[𝕜] β i) :
+    PiLp p α ≃ₗᵢ[𝕜] PiLp p β where
+  toLinearEquiv :=
+    WithLp.linearEquiv _ _ _
+      ≪≫ₗ (LinearEquiv.piCongrRight fun i => (e i).toLinearEquiv)
+      ≪≫ₗ (WithLp.linearEquiv _ _ _).symm
+  norm_map' := (WithLp.linearEquiv p 𝕜 _).symm.surjective.forall.2 fun x => by
+    simp only [LinearEquiv.trans_apply, LinearEquiv.piCongrRight_apply,
+      Equiv.apply_symm_apply, WithLp.linearEquiv_symm_apply, WithLp.linearEquiv_apply]
+    obtain rfl | hp := p.dichotomy
+    · simp_rw [PiLp.norm_equiv_symm, Pi.norm_def, LinearEquiv.piCongrRight_apply,
+        LinearIsometryEquiv.coe_toLinearEquiv, LinearIsometryEquiv.nnnorm_map]
+    · have : 0 < p.toReal := zero_lt_one.trans_le <| by norm_cast
+      simp only [PiLp.norm_eq_sum this, WithLp.equiv_symm_pi_apply, LinearEquiv.piCongrRight_apply,
+        LinearIsometryEquiv.coe_toLinearEquiv, LinearIsometryEquiv.norm_map]
+
+@[simp]
+theorem _root_.LinearIsometryEquiv.piLpCongrRight_apply (e : ∀ i, α i ≃ₗᵢ[𝕜] β i) (x : PiLp p α) :
+    LinearIsometryEquiv.piLpCongrRight p e x =
+      (WithLp.equiv p _).symm (fun i => e i (x i)) :=
+  rfl
+
+@[simp]
+theorem _root_.LinearIsometryEquiv.piLpCongrRight_refl :
+    LinearIsometryEquiv.piLpCongrRight p (fun i => .refl 𝕜 (α i)) = .refl _ _ :=
+  rfl
+
+@[simp]
+theorem _root_.LinearIsometryEquiv.piLpCongrRight_symm (e : ∀ i, α i ≃ₗᵢ[𝕜] β i) :
+    (LinearIsometryEquiv.piLpCongrRight p e).symm =
+      LinearIsometryEquiv.piLpCongrRight p (fun i => (e i).symm) :=
+  rfl
+
+@[simp high]
+theorem _root_.LinearIsometryEquiv.piLpCongrRight_single (e : ∀ i, α i ≃ₗᵢ[𝕜] β i) [DecidableEq ι]
+    (i : ι) (v : α i) :
+    LinearIsometryEquiv.piLpCongrRight p e ((WithLp.equiv p (∀ i, α i)).symm <| Pi.single i v) =
+      (WithLp.equiv p (∀ i, β i)).symm (Pi.single i (e _ v)) :=
+  funext <| Pi.apply_single (e ·) (fun _ => map_zero _) _ _
+
+end piLpCongrRight
+
 section Single
 
 variable (p)
chore: Rename nat_cast/int_cast/rat_cast to natCast/intCast/ratCast (#11486)

Now that I am defining NNRat.cast, I want a definitive answer to this naming issue. Plenty of lemmas in mathlib already use natCast/intCast/ratCast over nat_cast/int_cast/rat_cast, and this matches with the general expectation that underscore-separated name parts correspond to a single declaration.

Diff
@@ -615,7 +615,7 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) := by
   have := p.toReal_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.natCast_ne_top n)
-  simp only [one_div, h, Real.rpow_nat_cast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
+  simp only [one_div, h, Real.rpow_natCast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
feat: add notation for Real.sqrt (#12056)

This adds the notation √r for Real.sqrt r. The precedence is such that √x⁻¹ is parsed as √(x⁻¹); not because this is particularly desirable, but because it's the default and the choice doesn't really matter.

This is extracted from #7907, which adds a more general nth root typeclass. The idea is to perform all the boring substitutions downstream quickly, so that we can play around with custom elaborators with a much slower rate of code-rot. This PR also won't rot as quickly, as it does not forbid writing x.sqrt as that PR does.

While perhaps claiming for Real.sqrt is greedy; it:

  • Is far more common thatn NNReal.sqrt and Nat.sqrt
  • Is far more interesting to mathlib than sqrt on Float
  • Can be overloaded anyway, so this does not prevent downstream code using the notation on their own types.
  • Will be replaced by a more general typeclass in a future PR.

Zulip

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -620,7 +620,7 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*}
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
 theorem norm_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
-    ‖x‖ = Real.sqrt (∑ i : ι, ‖x i‖ ^ 2) := by
+    ‖x‖ = √(∑ i : ι, ‖x i‖ ^ 2) := by
   rw [norm_eq_of_nat 2 (by norm_cast) _] -- Porting note: was `convert`
   rw [Real.sqrt_eq_rpow]
   norm_cast
@@ -642,7 +642,7 @@ theorem norm_sq_eq_of_L2 (β : ι → Type*) [∀ i, SeminormedAddCommGroup (β
 #align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2
 
 theorem dist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
-    dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
+    dist x y = √(∑ i, dist (x i) (y i) ^ 2) := by
   simp_rw [dist_eq_norm, norm_eq_of_L2, sub_apply]
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
 
feat: add CoeFun Instance for PiLp (#11943)

This instance should make things easier to read and avoid defeq abuse. That is, given a term x : PiLp p α (or for instance x : EuclideanSpace 𝕜 n), we can ensure that Lean interprets this is a function by writing ⇑x. This shouldn't be a FunLike instance because then the coercion would get unfolded to FunLike.coe instead of WithLp.equiv.

Diff
@@ -76,6 +76,11 @@ abbrev PiLp (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : Type _ :=
   WithLp p (∀ i : ι, α i)
 #align pi_Lp PiLp
 
+/-The following should not be a `FunLike` instance because then the coercion `⇑` would get
+unfolded to `FunLike.coe` instead of `WithLp.equiv`. -/
+instance (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : CoeFun (PiLp p α) (fun _ ↦ (i : ι) → α i) where
+  coe := WithLp.equiv p _
+
 instance (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
   ⟨fun _ => default⟩
 
chore: Rename coe_nat/coe_int/coe_rat to natCast/intCast/ratCast (#11499)

This is less exhaustive than its sibling #11486 because edge cases are harder to classify. No fundamental difficulty, just me being a bit fast and lazy.

Reduce the diff of #11203

Diff
@@ -434,7 +434,7 @@ theorem antilipschitzWith_equiv_aux :
         simp only [nsmul_eq_mul, Finset.card_univ, ENNReal.rpow_one, Finset.sum_const,
           ENNReal.mul_rpow_of_nonneg _ _ nonneg, ← ENNReal.rpow_mul, cancel]
         have : (Fintype.card ι : ℝ≥0∞) = (Fintype.card ι : ℝ≥0) :=
-          (ENNReal.coe_nat (Fintype.card ι)).symm
+          (ENNReal.coe_natCast (Fintype.card ι)).symm
         rw [this, ENNReal.coe_rpow_of_nonneg _ nonneg]
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 
@@ -609,7 +609,7 @@ end Linfty
 theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) := by
-  have := p.toReal_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.nat_ne_top n)
+  have := p.toReal_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.natCast_ne_top n)
   simp only [one_div, h, Real.rpow_nat_cast, ENNReal.toReal_nat, eq_self_iff_true, Finset.sum_congr,
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
chore: Rename IsROrC to RCLike (#10819)

IsROrC contains data, which goes against the expectation that classes prefixed with Is are prop-valued. People have been complaining about this on and off, so this PR renames IsROrC to RCLike.

Diff
@@ -64,7 +64,7 @@ We also set up the theory for `PseudoEMetricSpace` and `PseudoMetricSpace`.
 
 set_option linter.uppercaseLean3 false
 
-open Real Set Filter IsROrC Bornology BigOperators Uniformity Topology NNReal ENNReal
+open Real Set Filter RCLike Bornology BigOperators Uniformity Topology NNReal ENNReal
 
 noncomputable section
 
chore(Analysis/NormedSpace/PiLp): golf a proof (#11619)
Diff
@@ -395,13 +395,12 @@ attribute [local instance] PiLp.pseudoMetricAux
 
 theorem lipschitzWith_equiv_aux : LipschitzWith 1 (WithLp.equiv p (∀ i, β i)) := by
   intro x y
+  simp_rw [ENNReal.coe_one, one_mul, edist_pi_def, Finset.sup_le_iff, Finset.mem_univ,
+    forall_true_left, WithLp.equiv_pi_apply]
   rcases p.dichotomy with (rfl | h)
-  · simpa only [ENNReal.coe_one, one_mul, edist_eq_iSup, edist, Finset.sup_le_iff, Finset.mem_univ,
-      forall_true_left] using le_iSup fun i => edist (x i) (y i)
+  · simpa only [edist_eq_iSup] using le_iSup fun i => edist (x i) (y i)
   · have cancel : p.toReal * (1 / p.toReal) = 1 := mul_div_cancel₀ 1 (zero_lt_one.trans_le h).ne'
     rw [edist_eq_sum (zero_lt_one.trans_le h)]
-    simp only [edist, forall_prop_of_true, one_mul, Finset.mem_univ, Finset.sup_le_iff,
-      ENNReal.coe_one]
     intro i
     calc
       edist (x i) (y i) = (edist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) := by
chore: Rename 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 | |

Diff
@@ -398,7 +398,7 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (WithLp.equiv p (∀ i, β i))
   rcases p.dichotomy with (rfl | h)
   · simpa only [ENNReal.coe_one, one_mul, edist_eq_iSup, edist, Finset.sup_le_iff, Finset.mem_univ,
       forall_true_left] using le_iSup fun i => edist (x i) (y i)
-  · have cancel : p.toReal * (1 / p.toReal) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le h).ne'
+  · have cancel : p.toReal * (1 / p.toReal) = 1 := mul_div_cancel₀ 1 (zero_lt_one.trans_le h).ne'
     rw [edist_eq_sum (zero_lt_one.trans_le h)]
     simp only [edist, forall_prop_of_true, one_mul, Finset.mem_univ, Finset.sup_le_iff,
       ENNReal.coe_one]
@@ -421,7 +421,7 @@ theorem antilipschitzWith_equiv_aux :
     exact fun i => Finset.le_sup (f := fun i => edist (x i) (y i)) (Finset.mem_univ i)
   · have pos : 0 < p.toReal := zero_lt_one.trans_le h
     have nonneg : 0 ≤ 1 / p.toReal := one_div_nonneg.2 (le_of_lt pos)
-    have cancel : p.toReal * (1 / p.toReal) = 1 := mul_div_cancel' 1 (ne_of_gt pos)
+    have cancel : p.toReal * (1 / p.toReal) = 1 := mul_div_cancel₀ 1 (ne_of_gt pos)
     rw [edist_eq_sum pos, ENNReal.toReal_div 1 p]
     simp only [edist, ← one_div, ENNReal.one_toReal]
     calc
@@ -664,7 +664,7 @@ instance instBoundedSMul [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (
     · have hp0 : 0 < p.toReal := zero_lt_one.trans_le hp
       have hpt : p ≠ ⊤ := p.toReal_pos_iff_ne_top.mp hp0
       rw [nnnorm_eq_sum hpt, nnnorm_eq_sum hpt, NNReal.rpow_one_div_le_iff hp0, NNReal.mul_rpow,
-        ← NNReal.rpow_mul, div_mul_cancel 1 hp0.ne', NNReal.rpow_one, Finset.mul_sum]
+        ← NNReal.rpow_mul, div_mul_cancel₀ 1 hp0.ne', NNReal.rpow_one, Finset.mul_sum]
       simp_rw [← NNReal.mul_rpow, smul_apply]
       exact Finset.sum_le_sum fun i _ => NNReal.rpow_le_rpow (nnnorm_smul_le _ _) hp0.le
 
chore(LpSpace): cleanup Fintype/Finite (#11428)

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

Diff
@@ -486,8 +486,6 @@ theorem continuous_equiv_symm [∀ i, UniformSpace (β i)] :
   continuous_id
 #align pi_Lp.continuous_equiv_symm PiLp.continuous_equiv_symm
 
-variable [Fintype ι]
-
 instance bornology [∀ i, Bornology (β i)] : Bornology (PiLp p β) :=
   Pi.instBornology
 #align pi_Lp.bornology PiLp.bornology
@@ -495,6 +493,10 @@ instance bornology [∀ i, Bornology (β i)] : Bornology (PiLp p β) :=
 -- throughout the rest of the file, we assume `1 ≤ p`
 variable [Fact (1 ≤ p)]
 
+section Fintype
+
+variable [Fintype ι]
+
 /-- pseudoemetric space instance on the product of finitely many pseudoemetric spaces, using the
 `L^p` pseudoedistance, and having as uniformity the product uniformity. -/
 instance [∀ i, PseudoEMetricSpace (β i)] : PseudoEMetricSpace (PiLp p β) :=
@@ -870,8 +872,11 @@ protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i where
   continuous_invFun := continuous_equiv_symm _ _
 #align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquiv
 
+end Fintype
+
 section Basis
 
+variable [Finite ι] [Ring 𝕜]
 variable (ι)
 
 /-- A version of `Pi.basisFun` for `PiLp`. -/
@@ -906,9 +911,11 @@ theorem basisFun_map :
   rfl
 #align pi_Lp.basis_fun_map PiLp.basisFun_map
 
+end Basis
+
 open Matrix
 
-nonrec theorem basis_toMatrix_basisFun_mul
+nonrec theorem basis_toMatrix_basisFun_mul [Fintype ι]
     {𝕜} [SeminormedCommRing 𝕜] (b : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜))
     (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) * A =
@@ -920,6 +927,4 @@ nonrec theorem basis_toMatrix_basisFun_mul
   exact this
 #align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mul
 
-end Basis
-
 end PiLp
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
@@ -92,7 +92,6 @@ for Pi types will not trigger. -/
 variable {𝕜 p α}
 variable [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
 variable [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] (c : 𝕜)
-
 variable (x y : PiLp p β) (i : ι)
 
 @[simp]
@@ -302,7 +301,6 @@ explaining why having definitionally the right uniformity is often important.
 
 
 variable [Fact (1 ≤ p)] [∀ i, PseudoMetricSpace (α i)] [∀ i, PseudoEMetricSpace (β i)]
-
 variable [Fintype ι]
 
 /-- Endowing the space `PiLp p β` with the `L^p` pseudoemetric structure. This definition is not
@@ -688,9 +686,7 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
 #align pi_Lp.equivₗᵢ PiLp.equivₗᵢ
 
 variable {ι' : Type*}
-
 variable [Fintype ι']
-
 variable (p 𝕜)
 variable (E : Type*) [NormedAddCommGroup E] [Module 𝕜 E] [BoundedSMul 𝕜 E]
 
@@ -742,7 +738,6 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [Decida
 section Single
 
 variable (p)
-
 variable [DecidableEq ι]
 
 -- Porting note: added `hp`
chore: classify new lemma porting notes (#11217)

Classifies by adding issue number #10756 to porting notes claiming anything semantically equivalent to:

  • "new lemma"
  • "added lemma"
Diff
@@ -79,7 +79,7 @@ abbrev PiLp (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : Type _ :=
 instance (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
   ⟨fun _ => default⟩
 
-@[ext] -- Porting note: new lemma
+@[ext] -- Porting note (#10756): new lemma
 protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type*} {α : ι → Type*} {x y : PiLp p α}
     (h : ∀ i, x i = y i) : x = y := funext h
 
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
@@ -79,7 +79,7 @@ abbrev PiLp (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : Type _ :=
 instance (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
   ⟨fun _ => default⟩
 
-@[ext] -- porting note: new lemma
+@[ext] -- Porting note: new lemma
 protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type*} {α : ι → Type*} {x y : PiLp p α}
     (h : ∀ i, x i = y i) : x = y := funext h
 
@@ -720,7 +720,7 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_apply (e : ι ≃ ι') (v : PiL
 theorem _root_.LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
     (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e).symm =
       LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e.symm :=
-  LinearIsometryEquiv.ext fun z => by -- porting note: was `rfl`
+  LinearIsometryEquiv.ext fun z => by -- Porting note: was `rfl`
     simp only [LinearIsometryEquiv.piLpCongrLeft, LinearIsometryEquiv.symm,
       LinearIsometryEquiv.coe_mk]
     unfold PiLp WithLp
chore: Rename Real.ciSup_empty (#10217)

and a few more to clarify that they are about IsEmpty, not about . Make a few more lemmas simp.`

Diff
@@ -373,7 +373,7 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
     rcases p.dichotomy with (rfl | h)
     · rw [edist_eq_iSup, dist_eq_iSup]
       · cases isEmpty_or_nonempty ι
-        · simp only [Real.ciSup_empty, ciSup_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
+        · simp only [Real.iSup_of_isEmpty, ciSup_of_empty, ENNReal.bot_eq_zero, ENNReal.zero_toReal]
         · refine' le_antisymm (ciSup_le fun i => _) _
           · rw [← ENNReal.ofReal_le_iff_le_toReal (iSup_edist_ne_top_aux f g), ←
               PseudoMetricSpace.edist_dist]
chore: tidy various files (#9903)
Diff
@@ -86,6 +86,40 @@ protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type*} {α : ι → Type*} {x
 namespace PiLp
 
 variable (p : ℝ≥0∞) (𝕜 : Type*) {ι : Type*} (α : ι → Type*) (β : ι → Type*)
+section
+/- Register simplification lemmas for the applications of `PiLp` elements, as the usual lemmas
+for Pi types will not trigger. -/
+variable {𝕜 p α}
+variable [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
+variable [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] (c : 𝕜)
+
+variable (x y : PiLp p β) (i : ι)
+
+@[simp]
+theorem zero_apply : (0 : PiLp p β) i = 0 :=
+  rfl
+#align pi_Lp.zero_apply PiLp.zero_apply
+
+@[simp]
+theorem add_apply : (x + y) i = x i + y i :=
+  rfl
+#align pi_Lp.add_apply PiLp.add_apply
+
+@[simp]
+theorem sub_apply : (x - y) i = x i - y i :=
+  rfl
+#align pi_Lp.sub_apply PiLp.sub_apply
+
+@[simp]
+theorem smul_apply : (c • x) i = c • x i :=
+  rfl
+#align pi_Lp.smul_apply PiLp.smul_apply
+
+@[simp]
+theorem neg_apply : (-x) i = -x i :=
+  rfl
+#align pi_Lp.neg_apply PiLp.neg_apply
+end
 
 /-! Note that the unapplied versions of these lemmas are deliberately omitted, as they break
 the use of the type synonym. -/
@@ -223,11 +257,11 @@ separate from `PiLp.seminormedAddCommGroup` since the latter requires the type c
 
 Registering this separately allows for a future norm-like structure on `PiLp p β` for `p < 1`
 satisfying a relaxed triangle inequality. These are called *quasi-norms*. -/
-instance hasNorm : Norm (PiLp p β) where
+instance instNorm : Norm (PiLp p β) where
   norm f :=
     if p = 0 then {i | ‖f i‖ ≠ 0}.toFinite.toFinset.card
     else if p = ∞ then ⨆ i, ‖f i‖ else (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal)
-#align pi_Lp.has_norm PiLp.hasNorm
+#align pi_Lp.has_norm PiLp.instNorm
 
 variable {p β}
 
@@ -299,7 +333,6 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β) where
             (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) +
               (∑ i, edist (g i) (h i) ^ p.toReal) ^ (1 / p.toReal) :=
           ENNReal.Lp_add_le _ _ _ hp
-
 #align pi_Lp.pseudo_emetric_aux PiLp.pseudoEmetricAux
 
 attribute [local instance] PiLp.pseudoEmetricAux
@@ -528,17 +561,13 @@ instance seminormedAddCommGroup [∀ i, SeminormedAddCommGroup (β i)] :
   { Pi.addCommGroup with
     dist_eq := fun x y => by
       rcases p.dichotomy with (rfl | h)
-      · simp only [dist_eq_iSup, norm_eq_ciSup, dist_eq_norm]
-        -- Porting note: added
-        congr
+      · simp only [dist_eq_iSup, norm_eq_ciSup, dist_eq_norm, sub_apply]
       · have : p ≠ ∞ := by
           intro hp
           rw [hp, ENNReal.top_toReal] at h
           linarith
         simp only [dist_eq_sum (zero_lt_one.trans_le h), norm_eq_sum (zero_lt_one.trans_le h),
-          dist_eq_norm]
-        -- Porting note: added
-        congr }
+          dist_eq_norm, sub_apply] }
 #align pi_Lp.seminormed_add_comm_group PiLp.seminormedAddCommGroup
 
 /-- normed group instance on the product of finitely many normed groups, using the `L^p` norm. -/
@@ -610,8 +639,7 @@ theorem norm_sq_eq_of_L2 (β : ι → Type*) [∀ i, SeminormedAddCommGroup (β
 
 theorem dist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
-  simp_rw [dist_eq_norm, norm_eq_of_L2]
-  rfl
+  simp_rw [dist_eq_norm, norm_eq_of_L2, sub_apply]
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
 
 theorem nndist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
@@ -626,7 +654,7 @@ theorem edist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
 
-instance instboundedSMul [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
+instance instBoundedSMul [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
     [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] :
     BoundedSMul 𝕜 (PiLp p β) :=
   .of_nnnorm_smul_le fun c f => by
@@ -637,8 +665,6 @@ instance instboundedSMul [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (
       have hpt : p ≠ ⊤ := p.toReal_pos_iff_ne_top.mp hp0
       rw [nnnorm_eq_sum hpt, nnnorm_eq_sum hpt, NNReal.rpow_one_div_le_iff hp0, NNReal.mul_rpow,
         ← NNReal.rpow_mul, div_mul_cancel 1 hp0.ne', NNReal.rpow_one, Finset.mul_sum]
-      -- Porting note: added to replace Pi.smul_apply
-      have smul_apply : ∀ i : ι, (c • f) i = c • (f i) := fun i => rfl
       simp_rw [← NNReal.mul_rpow, smul_apply]
       exact Finset.sum_le_sum fun i _ => NNReal.rpow_le_rpow (nnnorm_smul_le _ _) hp0.le
 
@@ -648,39 +674,10 @@ instance normedSpace [NormedField 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
   norm_smul_le := norm_smul_le
 #align pi_Lp.normed_space PiLp.normedSpace
 
-/- Register simplification lemmas for the applications of `PiLp` elements, as the usual lemmas
-for Pi types will not trigger. -/
 variable {𝕜 p α}
 variable [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
 variable [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] (c : 𝕜)
 
-variable (x y : PiLp p β) (x' y' : ∀ i, β i) (i : ι)
-
-@[simp]
-theorem zero_apply : (0 : PiLp p β) i = 0 :=
-  rfl
-#align pi_Lp.zero_apply PiLp.zero_apply
-
-@[simp]
-theorem add_apply : (x + y) i = x i + y i :=
-  rfl
-#align pi_Lp.add_apply PiLp.add_apply
-
-@[simp]
-theorem sub_apply : (x - y) i = x i - y i :=
-  rfl
-#align pi_Lp.sub_apply PiLp.sub_apply
-
-@[simp]
-theorem smul_apply : (c • x) i = c • x i :=
-  rfl
-#align pi_Lp.smul_apply PiLp.smul_apply
-
-@[simp]
-theorem neg_apply : (-x) i = -x i :=
-  rfl
-#align pi_Lp.neg_apply PiLp.neg_apply
-
 /-- The canonical map `WithLp.equiv` between `PiLp ∞ β` and `Π i, β i` as a linear isometric
 equivalence. -/
 def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
@@ -703,8 +700,6 @@ def _root_.LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
     (PiLp p fun _ : ι => E) ≃ₗᵢ[𝕜] PiLp p fun _ : ι' => E where
   toLinearEquiv := LinearEquiv.piCongrLeft' 𝕜 (fun _ : ι => E) e
   norm_map' x' := by
-  -- Porting note: this avoids spurious `x` and `y` arguments
-    clear x y
     rcases p.dichotomy with (rfl | h)
     · simp_rw [norm_eq_ciSup]
       exact e.symm.iSup_congr fun _ => rfl
@@ -754,7 +749,6 @@ variable [DecidableEq ι]
 @[simp]
 theorem nnnorm_equiv_symm_single [hp : Fact (1 ≤ p)] (i : ι) (b : β i) :
     ‖(WithLp.equiv p (∀ i, β i)).symm (Pi.single i b)‖₊ = ‖b‖₊ := by
-  clear x y -- Porting note: added
   haveI : Nonempty ι := ⟨i⟩
   induction p using ENNReal.recTopCoe generalizing hp with
   | top =>
@@ -834,7 +828,6 @@ for `p ≠ ∞`. -/
 theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι] (b : β) :
     ‖(WithLp.equiv p (ι → β)).symm (Function.const _ b)‖₊ =
       (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖b‖₊ := by
-  clear x y -- Porting note: added to avoid spurious arguments
   rcases em <| p = ∞ with (rfl | hp)
   · simp only [WithLp.equiv_symm_pi_apply, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero,
       one_mul, nnnorm_eq_ciSup, Function.const_apply, ciSup_const]
feat(Analysis/NormedSpace/{ProdLp,PiLp}): add BoundedSMul instances (#9796)

Also adds:

  • Lemmas linking the $L^\infty$ norm via WithLp to the standard one on products
  • A new BoundedSMul.of_nnnorm_smul_le which eliminates all the positivity juggling.

In theory we could generalize even further to non-unital rings, but that would require more generalization of WithLp, and is trivial for someone to do later; the proofs here will still work.

Diff
@@ -85,7 +85,7 @@ protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type*} {α : ι → Type*} {x
 
 namespace PiLp
 
-variable (p : ℝ≥0∞) (𝕜 𝕜' : Type*) {ι : Type*} (α : ι → Type*) (β : ι → Type*)
+variable (p : ℝ≥0∞) (𝕜 : Type*) {ι : Type*} (α : ι → Type*) (β : ι → Type*)
 
 /-! Note that the unapplied versions of these lemmas are deliberately omitted, as they break
 the use of the type synonym. -/
@@ -554,12 +554,30 @@ theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*} (hp
   simp [NNReal.coe_sum, norm_eq_sum (p.toReal_pos_iff_ne_top.mpr hp)]
 #align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sum
 
-theorem nnnorm_eq_ciSup {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
-    ‖f‖₊ = ⨆ i, ‖f i‖₊ := by
+section Linfty
+variable {β}
+variable [∀ i, SeminormedAddCommGroup (β i)]
+
+theorem nnnorm_eq_ciSup (f : PiLp ∞ β) : ‖f‖₊ = ⨆ i, ‖f i‖₊ := by
   ext
   simp [NNReal.coe_iSup, norm_eq_ciSup]
 #align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSup
 
+@[simp] theorem nnnorm_equiv (f : PiLp ∞ β) : ‖WithLp.equiv ⊤ _ f‖₊ = ‖f‖₊ := by
+  rw [nnnorm_eq_ciSup, Pi.nnnorm_def, Finset.sup_univ_eq_ciSup]
+  dsimp only [WithLp.equiv_pi_apply]
+
+@[simp] theorem nnnorm_equiv_symm (f : ∀ i, β i) : ‖(WithLp.equiv ⊤ _).symm f‖₊ = ‖f‖₊ :=
+  (nnnorm_equiv _).symm
+
+@[simp] theorem norm_equiv (f : PiLp ∞ β) : ‖WithLp.equiv ⊤ _ f‖ = ‖f‖ :=
+  congr_arg NNReal.toReal <| nnnorm_equiv f
+
+@[simp] theorem norm_equiv_symm (f : ∀ i, β i) : ‖(WithLp.equiv ⊤ _).symm f‖ = ‖f‖ :=
+  (norm_equiv _).symm
+
+end Linfty
+
 theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) := by
@@ -608,32 +626,33 @@ theorem edist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
 
-variable [NormedField 𝕜] [NormedField 𝕜']
+instance instboundedSMul [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
+    [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] :
+    BoundedSMul 𝕜 (PiLp p β) :=
+  .of_nnnorm_smul_le fun c f => by
+    rcases p.dichotomy with (rfl | hp)
+    · rw [← nnnorm_equiv, ← nnnorm_equiv, WithLp.equiv_smul]
+      exact nnnorm_smul_le c (WithLp.equiv ∞ (∀ i, β i) f)
+    · have hp0 : 0 < p.toReal := zero_lt_one.trans_le hp
+      have hpt : p ≠ ⊤ := p.toReal_pos_iff_ne_top.mp hp0
+      rw [nnnorm_eq_sum hpt, nnnorm_eq_sum hpt, NNReal.rpow_one_div_le_iff hp0, NNReal.mul_rpow,
+        ← NNReal.rpow_mul, div_mul_cancel 1 hp0.ne', NNReal.rpow_one, Finset.mul_sum]
+      -- Porting note: added to replace Pi.smul_apply
+      have smul_apply : ∀ i : ι, (c • f) i = c • (f i) := fun i => rfl
+      simp_rw [← NNReal.mul_rpow, smul_apply]
+      exact Finset.sum_le_sum fun i _ => NNReal.rpow_le_rpow (nnnorm_smul_le _ _) hp0.le
 
 /-- The product of finitely many normed spaces is a normed space, with the `L^p` norm. -/
-instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
-    NormedSpace 𝕜 (PiLp p β) :=
-  { norm_smul_le := fun c f => by
-      rcases p.dichotomy with (rfl | hp)
-      · letI : Module 𝕜 (PiLp ∞ β) := Pi.module ι β 𝕜
-        suffices ‖c • f‖₊ = ‖c‖₊ * ‖f‖₊ from mod_cast NNReal.coe_mono this.le
-        simp only [nnnorm_eq_ciSup, NNReal.mul_iSup, ← nnnorm_smul]
-        -- Porting note: added
-        congr
-      · have : p.toReal * (1 / p.toReal) = 1 := mul_div_cancel' 1 (zero_lt_one.trans_le hp).ne'
-        -- Porting note: added to replace Pi.smul_apply
-        have smul_apply : ∀ i : ι, (c • f) i = c • (f i) := fun i => rfl
-        simp only [norm_eq_sum (zero_lt_one.trans_le hp), norm_smul, Real.mul_rpow, norm_nonneg, ←
-          Finset.mul_sum, smul_apply]
-        rw [mul_rpow (rpow_nonneg (norm_nonneg _) _), ← rpow_mul (norm_nonneg _), this,
-          Real.rpow_one]
-        exact Finset.sum_nonneg fun i _ => rpow_nonneg (norm_nonneg _) _ }
+instance normedSpace [NormedField 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
+    [∀ i, NormedSpace 𝕜 (β i)] : NormedSpace 𝕜 (PiLp p β) where
+  norm_smul_le := norm_smul_le
 #align pi_Lp.normed_space PiLp.normedSpace
 
 /- Register simplification lemmas for the applications of `PiLp` elements, as the usual lemmas
 for Pi types will not trigger. -/
-variable {𝕜 𝕜' p α}
-variable [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] (c : 𝕜)
+variable {𝕜 p α}
+variable [SeminormedRing 𝕜] [∀ i, SeminormedAddCommGroup (β i)]
+variable [∀ i, Module 𝕜 (β i)] [∀ i, BoundedSMul 𝕜 (β i)] (c : 𝕜)
 
 variable (x y : PiLp p β) (x' y' : ∀ i, β i) (i : ι)
 
@@ -666,17 +685,9 @@ theorem neg_apply : (-x) i = -x i :=
 equivalence. -/
 def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
   { WithLp.equiv ∞ (∀ i, β i) with
-    map_add' := fun f g => rfl
-    map_smul' := fun c f => rfl
-    norm_map' := fun f => by
-      suffices (Finset.univ.sup fun i => ‖f i‖₊) = ⨆ i, ‖f i‖₊ by
-        simpa only [NNReal.coe_iSup] using congr_arg ((↑) : ℝ≥0 → ℝ) this
-      refine'
-        antisymm (Finset.sup_le fun i _ => le_ciSup (Finite.bddAbove_range fun i => ‖f i‖₊) _) _
-      cases isEmpty_or_nonempty ι
-      · simp only [ciSup_of_empty, Finset.univ_eq_empty, Finset.sup_empty, le_rfl]
-      · -- Porting note: `Finset.le_sup` needed some helps
-        exact ciSup_le fun i => Finset.le_sup (f := fun k => ‖f k‖₊) (Finset.mem_univ i) }
+    map_add' := fun _f _g => rfl
+    map_smul' := fun _c _f => rfl
+    norm_map' := norm_equiv }
 #align pi_Lp.equivₗᵢ PiLp.equivₗᵢ
 
 variable {ι' : Type*}
@@ -684,7 +695,7 @@ variable {ι' : Type*}
 variable [Fintype ι']
 
 variable (p 𝕜)
-variable (E : Type*) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
+variable (E : Type*) [NormedAddCommGroup E] [Module 𝕜 E] [BoundedSMul 𝕜 E]
 
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
@@ -909,7 +920,8 @@ theorem basisFun_map :
 
 open Matrix
 
-nonrec theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜))
+nonrec theorem basis_toMatrix_basisFun_mul
+    {𝕜} [SeminormedCommRing 𝕜] (b : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜))
     (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) * A =
       Matrix.of fun i j => b.repr ((WithLp.equiv _ _).symm (Aᵀ j)) i := by
chore(Fintype/Order): generalize Fintype to Finite in Directed lemmas (#9754)

Co-authored-by: Junyan Xu <junyanxu.math@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -309,7 +309,7 @@ use outside this file. -/
 theorem iSup_edist_ne_top_aux {ι : Type*} [Finite ι] {α : ι → Type*}
     [∀ i, PseudoMetricSpace (α i)] (f g : PiLp ∞ α) : (⨆ i, edist (f i) (g i)) ≠ ⊤ := by
   cases nonempty_fintype ι
-  obtain ⟨M, hM⟩ := Fintype.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
+  obtain ⟨M, hM⟩ := Finite.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
   refine' ne_of_lt ((iSup_le fun i => _).trans_lt (@ENNReal.coe_lt_top M))
   simp only [edist, PseudoMetricSpace.edist_dist, ENNReal.ofReal_eq_coe_nnreal dist_nonneg]
   exact mod_cast hM i
@@ -353,7 +353,7 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
               rw [PseudoMetricSpace.edist_dist]
               -- Porting note: `le_ciSup` needed some help
               exact ENNReal.ofReal_le_ofReal
-                (le_ciSup (Fintype.bddAbove_range (fun k => dist (f k) (g k))) i)
+                (le_ciSup (Finite.bddAbove_range (fun k => dist (f k) (g k))) i)
     · have A : ∀ i, edist (f i) (g i) ^ p.toReal ≠ ⊤ := fun i =>
         ENNReal.rpow_ne_top_of_nonneg (zero_le_one.trans h) (edist_ne_top _ _)
       simp only [edist_eq_sum (zero_lt_one.trans_le h), dist_edist, ENNReal.toReal_rpow,
@@ -672,7 +672,7 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
       suffices (Finset.univ.sup fun i => ‖f i‖₊) = ⨆ i, ‖f i‖₊ by
         simpa only [NNReal.coe_iSup] using congr_arg ((↑) : ℝ≥0 → ℝ) this
       refine'
-        antisymm (Finset.sup_le fun i _ => le_ciSup (Fintype.bddAbove_range fun i => ‖f i‖₊) _) _
+        antisymm (Finset.sup_le fun i _ => le_ciSup (Finite.bddAbove_range fun i => ‖f i‖₊) _) _
       cases isEmpty_or_nonempty ι
       · simp only [ciSup_of_empty, Finset.univ_eq_empty, Finset.sup_empty, le_rfl]
       · -- Porting note: `Finset.le_sup` needed some helps
chore: Rename rpow_nonneg_of_nonneg to rpow_nonneg (#9518)

This better matches other lemma names.

From LeanAPAP

Diff
@@ -625,9 +625,9 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
         have smul_apply : ∀ i : ι, (c • f) i = c • (f i) := fun i => rfl
         simp only [norm_eq_sum (zero_lt_one.trans_le hp), norm_smul, Real.mul_rpow, norm_nonneg, ←
           Finset.mul_sum, smul_apply]
-        rw [mul_rpow (rpow_nonneg_of_nonneg (norm_nonneg _) _), ← rpow_mul (norm_nonneg _), this,
+        rw [mul_rpow (rpow_nonneg (norm_nonneg _) _), ← rpow_mul (norm_nonneg _), this,
           Real.rpow_one]
-        exact Finset.sum_nonneg fun i _ => rpow_nonneg_of_nonneg (norm_nonneg _) _ }
+        exact Finset.sum_nonneg fun i _ => rpow_nonneg (norm_nonneg _) _ }
 #align pi_Lp.normed_space PiLp.normedSpace
 
 /- Register simplification lemmas for the applications of `PiLp` elements, as the usual lemmas
feat: golf using gcongr throughout the library (#8752)

Following on from previous gcongr golfing PRs #4702 and #4784.

This is a replacement for #7901: this round of golfs, first introduced there, there exposed some performance issues in gcongr, hopefully fixed by #8731, and I am opening a new PR so that the performance can be checked against current master rather than master at the time of #7901.

Diff
@@ -293,9 +293,8 @@ def pseudoEmetricAux : PseudoEMetricSpace (PiLp p β) where
       calc
         (∑ i, edist (f i) (h i) ^ p.toReal) ^ (1 / p.toReal) ≤
             (∑ i, (edist (f i) (g i) + edist (g i) (h i)) ^ p.toReal) ^ (1 / p.toReal) := by
-          apply ENNReal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans hp)
-          refine' Finset.sum_le_sum fun i _ => _
-          exact ENNReal.rpow_le_rpow (edist_triangle _ _ _) (zero_le_one.trans hp)
+          gcongr
+          apply edist_triangle
         _ ≤
             (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal) +
               (∑ i, edist (g i) (h i) ^ p.toReal) ^ (1 / p.toReal) :=
@@ -377,7 +376,7 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (WithLp.equiv p (∀ i, β i))
       edist (x i) (y i) = (edist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) := by
         simp [← ENNReal.rpow_mul, cancel, -one_div]
       _ ≤ (∑ i, edist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) := by
-        apply ENNReal.rpow_le_rpow _ (one_div_nonneg.2 <| zero_le_one.trans h)
+        gcongr
         exact Finset.single_le_sum (fun i _ => (bot_le : (0 : ℝ≥0∞) ≤ _)) (Finset.mem_univ i)
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
 
@@ -397,9 +396,7 @@ theorem antilipschitzWith_equiv_aux :
     calc
       (∑ i, edist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) ≤
           (∑ _i, edist (WithLp.equiv p _ x) (WithLp.equiv p _ y) ^ p.toReal) ^ (1 / p.toReal) := by
-        refine ENNReal.rpow_le_rpow ?_ nonneg
-        refine Finset.sum_le_sum fun i _ => ?_
-        apply ENNReal.rpow_le_rpow _ (le_of_lt pos)
+        gcongr with i
         exact Finset.le_sup (f := fun i => edist (x i) (y i)) (Finset.mem_univ i)
       _ =
           ((Fintype.card ι : ℝ≥0) ^ (1 / p.toReal) : ℝ≥0) *
chore: replace exact_mod_cast tactic with mod_cast elaborator where possible (#8404)

We still have the exact_mod_cast tactic, used in a few places, which somehow (?) works a little bit harder to prevent the expected type influencing the elaboration of the term. I would like to get to the bottom of this, and it will be easier once the only usages of exact_mod_cast are the ones that don't work using the term elaborator by itself.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -313,7 +313,7 @@ theorem iSup_edist_ne_top_aux {ι : Type*} [Finite ι] {α : ι → Type*}
   obtain ⟨M, hM⟩ := Fintype.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
   refine' ne_of_lt ((iSup_le fun i => _).trans_lt (@ENNReal.coe_lt_top M))
   simp only [edist, PseudoMetricSpace.edist_dist, ENNReal.ofReal_eq_coe_nnreal dist_nonneg]
-  exact_mod_cast hM i
+  exact mod_cast hM i
 #align pi_Lp.supr_edist_ne_top_aux PiLp.iSup_edist_ne_top_aux
 
 /-- Endowing the space `PiLp p α` with the `L^p` pseudometric structure. This definition is not
@@ -619,7 +619,7 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
   { norm_smul_le := fun c f => by
       rcases p.dichotomy with (rfl | hp)
       · letI : Module 𝕜 (PiLp ∞ β) := Pi.module ι β 𝕜
-        suffices ‖c • f‖₊ = ‖c‖₊ * ‖f‖₊ by exact_mod_cast NNReal.coe_mono this.le
+        suffices ‖c • f‖₊ = ‖c‖₊ * ‖f‖₊ from mod_cast NNReal.coe_mono this.le
         simp only [nnnorm_eq_ciSup, NNReal.mul_iSup, ← nnnorm_smul]
         -- Porting note: added
         congr
@@ -758,8 +758,8 @@ theorem nnnorm_equiv_symm_single [hp : Fact (1 ≤ p)] (i : ι) (b : β i) :
         exact zero_le _
     · rw [Pi.single_eq_same]
   | coe p =>
-    have hp0 : (p : ℝ) ≠ 0 := by
-      exact_mod_cast (zero_lt_one.trans_le <| Fact.out (p := 1 ≤ (p : ℝ≥0∞))).ne'
+    have hp0 : (p : ℝ) ≠ 0 :=
+      mod_cast (zero_lt_one.trans_le <| Fact.out (p := 1 ≤ (p : ℝ≥0∞))).ne'
     rw [nnnorm_eq_sum ENNReal.coe_ne_top, ENNReal.coe_toReal, Fintype.sum_eq_single i,
       WithLp.equiv_symm_pi_apply, Pi.single_eq_same, ← NNReal.rpow_mul, one_div, mul_inv_cancel hp0,
       NNReal.rpow_one]
chore: bump to v4.3.0-rc2 (#8366)

PR contents

This is the supremum of

along with some minor fixes from failures on nightly-testing as Mathlib master is merged into it.

Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.

I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0 branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.

Lean PRs involved in this bump

In particular this includes adjustments for the Lean PRs

leanprover/lean4#2778

We can get rid of all the

local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)

macros across Mathlib (and in any projects that want to write natural number powers of reals).

leanprover/lean4#2722

Changes the default behaviour of simp to (config := {decide := false}). This makes simp (and consequentially norm_num) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp or norm_num to decide or rfl, or adding (config := {decide := true}).

leanprover/lean4#2783

This changed the behaviour of simp so that simp [f] will only unfold "fully applied" occurrences of f. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true }). We may in future add a syntax for this, e.g. simp [!f]; please provide feedback! In the meantime, we have made the following changes:

  • switching to using explicit lemmas that have the intended level of application
  • (config := { unfoldPartialApp := true }) in some places, to recover the old behaviour
  • Using @[eqns] to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp and Function.flip.

This change in Lean may require further changes down the line (e.g. adding the !f syntax, and/or upstreaming the special treatment for Function.comp and Function.flip, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!

Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>

Diff
@@ -64,8 +64,6 @@ We also set up the theory for `PseudoEMetricSpace` and `PseudoMetricSpace`.
 
 set_option linter.uppercaseLean3 false
 
-local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue lean4#2220
-
 open Real Set Filter IsROrC Bornology BigOperators Uniformity Topology NNReal ENNReal
 
 noncomputable section
@@ -574,7 +572,7 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*}
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
 theorem norm_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
-    ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) := by
+    ‖x‖ = Real.sqrt (∑ i : ι, ‖x i‖ ^ 2) := by
   rw [norm_eq_of_nat 2 (by norm_cast) _] -- Porting note: was `convert`
   rw [Real.sqrt_eq_rpow]
   norm_cast
style: shorten simps configurations (#8296)

Use .asFn and .lemmasOnly as simps configuration options.

For reference, these are defined here:

https://github.com/leanprover-community/mathlib4/blob/4055c8b471380825f07416b12cb0cf266da44d84/Mathlib/Tactic/Simps/Basic.lean#L843-L851

Diff
@@ -869,7 +869,7 @@ theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [O
 variable (𝕜 p)
 
 /-- `WithLp.equiv` as a continuous linear equivalence. -/
-@[simps! (config := { fullyApplied := false }) apply symm_apply]
+@[simps! (config := .asFn) apply symm_apply]
 protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i where
   toLinearEquiv := WithLp.linearEquiv _ _ _
   continuous_toFun := continuous_equiv _ _
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
@@ -19,8 +19,8 @@ is given by
 $$
 d(x, y) = \left(\sum d(x_i, y_i)^p\right)^{1/p}.
 $$,
-whereas for `p = 0` it is the cardinality of the set ${ i | x_i ≠ y_i}$. For `p = ∞` the distance
-is the supremum of the distances.
+whereas for `p = 0` it is the cardinality of the set ${i | d (x_i, y_i) ≠ 0}$. For `p = ∞` the
+distance is the supremum of the distances.
 
 We give instances of this construction for emetric spaces, metric spaces, normed groups and normed
 spaces.
@@ -129,13 +129,14 @@ satisfying a relaxed triangle inequality. The terminology for this varies throug
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
 instance : EDist (PiLp p β) where
   edist f g :=
-    if p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
+    if p = 0 then {i | edist (f i) (g i) ≠ 0}.toFinite.toFinset.card
     else
       if p = ∞ then ⨆ i, edist (f i) (g i) else (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal)
 
 variable {β}
 
-theorem edist_eq_card (f g : PiLp 0 β) : edist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
+theorem edist_eq_card (f g : PiLp 0 β) :
+    edist f g = {i | edist (f i) (g i) ≠ 0}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.edist_eq_card PiLp.edist_eq_card
 
@@ -170,7 +171,7 @@ protected theorem edist_self (f : PiLp p β) : edist f f = 0 := by
 from `pi_Lp.pseudo_emetric_space` so it can be used also for `p < 1`. -/
 protected theorem edist_comm (f g : PiLp p β) : edist f g = edist g f := by
   rcases p.trichotomy with (rfl | rfl | h)
-  · simp only [edist_eq_card, eq_comm, Ne.def]
+  · simp only [edist_eq_card, edist_comm]
   · simp only [edist_eq_iSup, edist_comm]
   · simp only [edist_eq_sum h, edist_comm]
 #align pi_Lp.edist_comm PiLp.edist_comm
@@ -190,13 +191,14 @@ satisfying a relaxed triangle inequality. The terminology for this varies throug
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
 instance : Dist (PiLp p α) where
   dist f g :=
-    if _hp : p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
+    if p = 0 then {i | dist (f i) (g i) ≠ 0}.toFinite.toFinset.card
     else
       if p = ∞ then ⨆ i, dist (f i) (g i) else (∑ i, dist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal)
 
 variable {α}
 
-theorem dist_eq_card (f g : PiLp 0 α) : dist f g = { i | f i ≠ g i }.toFinite.toFinset.card :=
+theorem dist_eq_card (f g : PiLp 0 α) :
+    dist f g = {i | dist (f i) (g i) ≠ 0}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.dist_eq_card PiLp.dist_eq_card
 
@@ -215,7 +217,7 @@ end Dist
 
 section Norm
 
-variable [∀ i, Norm (β i)] [∀ i, Zero (β i)]
+variable [∀ i, Norm (β i)]
 
 /-- Endowing the space `PiLp p β` with the `L^p` norm. We register this instance
 separate from `PiLp.seminormedAddCommGroup` since the latter requires the type class hypothesis
@@ -225,13 +227,13 @@ Registering this separately allows for a future norm-like structure on `PiLp p 
 satisfying a relaxed triangle inequality. These are called *quasi-norms*. -/
 instance hasNorm : Norm (PiLp p β) where
   norm f :=
-    if _hp : p = 0 then { i | f i ≠ 0 }.toFinite.toFinset.card
+    if p = 0 then {i | ‖f i‖ ≠ 0}.toFinite.toFinset.card
     else if p = ∞ then ⨆ i, ‖f i‖ else (∑ i, ‖f i‖ ^ p.toReal) ^ (1 / p.toReal)
 #align pi_Lp.has_norm PiLp.hasNorm
 
 variable {p β}
 
-theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = { i | f i ≠ 0 }.toFinite.toFinset.card :=
+theorem norm_eq_card (f : PiLp 0 β) : ‖f‖ = {i | ‖f i‖ ≠ 0}.toFinite.toFinset.card :=
   if_pos rfl
 #align pi_Lp.norm_eq_card PiLp.norm_eq_card
 
chore(NormedSpace/PiLp): drop unneeded dite (#8280)

Use non-dependent if instead.

Diff
@@ -129,8 +129,7 @@ satisfying a relaxed triangle inequality. The terminology for this varies throug
 literature, but it is sometimes called a *quasi-metric* or *semi-metric*. -/
 instance : EDist (PiLp p β) where
   edist f g :=
-    -- Porting note: can we drop the `_hp` entirely?
-    if _hp : p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
+    if p = 0 then { i | f i ≠ g i }.toFinite.toFinset.card
     else
       if p = ∞ then ⨆ i, edist (f i) (g i) else (∑ i, edist (f i) (g i) ^ p.toReal) ^ (1 / p.toReal)
 
chore: bump toolchain to v4.2.0-rc1 (#7370)

This rolls in the changed from #6928.

Co-authored-by: Thomas Murrills <thomasmurrills@gmail.com>

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -399,7 +399,6 @@ theorem antilipschitzWith_equiv_aux :
       (∑ i, edist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) ≤
           (∑ _i, edist (WithLp.equiv p _ x) (WithLp.equiv p _ y) ^ p.toReal) ^ (1 / p.toReal) := by
         refine ENNReal.rpow_le_rpow ?_ nonneg
-        swap
         refine Finset.sum_le_sum fun i _ => ?_
         apply ENNReal.rpow_le_rpow _ (le_of_lt pos)
         exact Finset.le_sup (f := fun i => edist (x i) (y i)) (Finset.mem_univ i)
refactor: remove PiLp.equiv (#6501)

This removes the (PiLp.equiv 2 fun i => α i) abbreviation, replacing it with its implementation (WithLp.equiv 2 (∀ i, α i)). The same thing is done for PiLp.linearEquiv.

Diff
@@ -89,23 +89,19 @@ namespace PiLp
 
 variable (p : ℝ≥0∞) (𝕜 𝕜' : Type*) {ι : Type*} (α : ι → Type*) (β : ι → Type*)
 
-/-- Canonical bijection between `PiLp p α` and the original Pi type. We introduce it to be able
-to compare the `L^p` and `L^∞` distances through it. -/
-abbrev equiv : PiLp p α ≃ ∀ i : ι, α i := WithLp.equiv _ _
-#align pi_Lp.equiv PiLp.equiv
-
 /-! Note that the unapplied versions of these lemmas are deliberately omitted, as they break
 the use of the type synonym. -/
 
 @[simp]
-theorem equiv_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
+theorem _root_.WithLp.equiv_pi_apply (x : PiLp p α) (i : ι) : WithLp.equiv p _ x i = x i :=
   rfl
-#align pi_Lp.equiv_apply PiLp.equiv_apply
+#align pi_Lp.equiv_apply WithLp.equiv_pi_apply
 
 @[simp]
-theorem equiv_symm_apply (x : ∀ i, α i) (i : ι) : (PiLp.equiv p α).symm x i = x i :=
+theorem  _root_.WithLp.equiv_symm_pi_apply (x : ∀ i, α i) (i : ι) :
+    (WithLp.equiv p _).symm x i = x i :=
   rfl
-#align pi_Lp.equiv_symm_apply PiLp.equiv_symm_apply
+#align pi_Lp.equiv_symm_apply WithLp.equiv_symm_pi_apply
 
 section DistNorm
 
@@ -368,7 +364,7 @@ def pseudoMetricAux : PseudoMetricSpace (PiLp p α) :=
 
 attribute [local instance] PiLp.pseudoMetricAux
 
-theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) := by
+theorem lipschitzWith_equiv_aux : LipschitzWith 1 (WithLp.equiv p (∀ i, β i)) := by
   intro x y
   rcases p.dichotomy with (rfl | h)
   · simpa only [ENNReal.coe_one, one_mul, edist_eq_iSup, edist, Finset.sup_le_iff, Finset.mem_univ,
@@ -387,7 +383,7 @@ theorem lipschitzWith_equiv_aux : LipschitzWith 1 (PiLp.equiv p β) := by
 #align pi_Lp.lipschitz_with_equiv_aux PiLp.lipschitzWith_equiv_aux
 
 theorem antilipschitzWith_equiv_aux :
-    AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) := by
+    AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (WithLp.equiv p (∀ i, β i)) := by
   intro x y
   rcases p.dichotomy with (rfl | h)
   · simp only [edist_eq_iSup, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero,
@@ -401,7 +397,7 @@ theorem antilipschitzWith_equiv_aux :
     simp only [edist, ← one_div, ENNReal.one_toReal]
     calc
       (∑ i, edist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) ≤
-          (∑ _i, edist (PiLp.equiv p β x) (PiLp.equiv p β y) ^ p.toReal) ^ (1 / p.toReal) := by
+          (∑ _i, edist (WithLp.equiv p _ x) (WithLp.equiv p _ y) ^ p.toReal) ^ (1 / p.toReal) := by
         refine ENNReal.rpow_le_rpow ?_ nonneg
         swap
         refine Finset.sum_le_sum fun i _ => ?_
@@ -409,7 +405,7 @@ theorem antilipschitzWith_equiv_aux :
         exact Finset.le_sup (f := fun i => edist (x i) (y i)) (Finset.mem_univ i)
       _ =
           ((Fintype.card ι : ℝ≥0) ^ (1 / p.toReal) : ℝ≥0) *
-            edist (PiLp.equiv p β x) (PiLp.equiv p β y) := by
+            edist (WithLp.equiv p _ x) (WithLp.equiv p _ y) := by
         simp only [nsmul_eq_mul, Finset.card_univ, ENNReal.rpow_one, Finset.sum_const,
           ENNReal.mul_rpow_of_nonneg _ _ nonneg, ← ENNReal.rpow_mul, cancel]
         have : (Fintype.card ι : ℝ≥0∞) = (Fintype.card ι : ℝ≥0) :=
@@ -418,17 +414,17 @@ theorem antilipschitzWith_equiv_aux :
 #align pi_Lp.antilipschitz_with_equiv_aux PiLp.antilipschitzWith_equiv_aux
 
 theorem aux_uniformity_eq : 𝓤 (PiLp p β) = 𝓤[Pi.uniformSpace _] := by
-  have A : UniformInducing (PiLp.equiv p β) :=
+  have A : UniformInducing (WithLp.equiv p (∀ i, β i)) :=
     (antilipschitzWith_equiv_aux p β).uniformInducing
       (lipschitzWith_equiv_aux p β).uniformContinuous
-  have : (fun x : PiLp p β × PiLp p β => ((PiLp.equiv p β) x.fst, (PiLp.equiv p β) x.snd)) = id :=
+  have : (fun x : PiLp p β × PiLp p β => (WithLp.equiv p _ x.fst, WithLp.equiv p _ x.snd)) = id :=
     by ext i <;> rfl
   rw [← A.comap_uniformity, this, comap_id]
 #align pi_Lp.aux_uniformity_eq PiLp.aux_uniformity_eq
 
 theorem aux_cobounded_eq : cobounded (PiLp p α) = @cobounded _ Pi.instBornology :=
   calc
-    cobounded (PiLp p α) = comap (PiLp.equiv p α) (cobounded _) :=
+    cobounded (PiLp p α) = comap (WithLp.equiv p (∀ i, α i)) (cobounded _) :=
       le_antisymm (antilipschitzWith_equiv_aux p α).tendsto_cobounded.le_comap
         (lipschitzWith_equiv_aux p α).comap_cobounded_le
     _ = _ := comap_id
@@ -443,22 +439,24 @@ instance uniformSpace [∀ i, UniformSpace (β i)] : UniformSpace (PiLp p β) :=
   Pi.uniformSpace _
 #align pi_Lp.uniform_space PiLp.uniformSpace
 
-theorem uniformContinuous_equiv [∀ i, UniformSpace (β i)] : UniformContinuous (PiLp.equiv p β) :=
+theorem uniformContinuous_equiv [∀ i, UniformSpace (β i)] :
+    UniformContinuous (WithLp.equiv p (∀ i, β i)) :=
   uniformContinuous_id
 #align pi_Lp.uniform_continuous_equiv PiLp.uniformContinuous_equiv
 
 theorem uniformContinuous_equiv_symm [∀ i, UniformSpace (β i)] :
-    UniformContinuous (PiLp.equiv p β).symm :=
+    UniformContinuous (WithLp.equiv p (∀ i, β i)).symm :=
   uniformContinuous_id
 #align pi_Lp.uniform_continuous_equiv_symm PiLp.uniformContinuous_equiv_symm
 
 @[continuity]
-theorem continuous_equiv [∀ i, UniformSpace (β i)] : Continuous (PiLp.equiv p β) :=
+theorem continuous_equiv [∀ i, UniformSpace (β i)] : Continuous (WithLp.equiv p (∀ i, β i)) :=
   continuous_id
 #align pi_Lp.continuous_equiv PiLp.continuous_equiv
 
 @[continuity]
-theorem continuous_equiv_symm [∀ i, UniformSpace (β i)] : Continuous (PiLp.equiv p β).symm :=
+theorem continuous_equiv_symm [∀ i, UniformSpace (β i)] :
+    Continuous (WithLp.equiv p (∀ i, β i)).symm :=
   continuous_id
 #align pi_Lp.continuous_equiv_symm PiLp.continuous_equiv_symm
 
@@ -509,16 +507,18 @@ theorem nndist_eq_iSup {β : ι → Type*} [∀ i, PseudoMetricSpace (β i)] (x
     exact dist_eq_iSup _ _
 #align pi_Lp.nndist_eq_supr PiLp.nndist_eq_iSup
 
-theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] : LipschitzWith 1 (PiLp.equiv p β) :=
+theorem lipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] :
+    LipschitzWith 1 (WithLp.equiv p (∀ i, β i)) :=
   lipschitzWith_equiv_aux p β
 #align pi_Lp.lipschitz_with_equiv PiLp.lipschitzWith_equiv
 
 theorem antilipschitzWith_equiv [∀ i, PseudoEMetricSpace (β i)] :
-    AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (PiLp.equiv p β) :=
+    AntilipschitzWith ((Fintype.card ι : ℝ≥0) ^ (1 / p).toReal) (WithLp.equiv p (∀ i, β i)) :=
   antilipschitzWith_equiv_aux p β
 #align pi_Lp.antilipschitz_with_equiv PiLp.antilipschitzWith_equiv
 
-theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] : Isometry (PiLp.equiv ∞ β) :=
+theorem infty_equiv_isometry [∀ i, PseudoEMetricSpace (β i)] :
+    Isometry (WithLp.equiv ∞ (∀ i, β i)) :=
   fun x y =>
   le_antisymm (by simpa only [ENNReal.coe_one, one_mul] using lipschitzWith_equiv ∞ β x y)
     (by
@@ -667,10 +667,10 @@ theorem neg_apply : (-x) i = -x i :=
   rfl
 #align pi_Lp.neg_apply PiLp.neg_apply
 
-/-- The canonical map `PiLp.equiv` between `PiLp ∞ β` and `Π i, β i` as a linear isometric
+/-- The canonical map `WithLp.equiv` between `PiLp ∞ β` and `Π i, β i` as a linear isometric
 equivalence. -/
 def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
-  { PiLp.equiv ∞ β with
+  { WithLp.equiv ∞ (∀ i, β i) with
     map_add' := fun f g => rfl
     map_smul' := fun c f => rfl
     norm_map' := fun f => by
@@ -731,8 +731,8 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
 @[simp high]
 theorem _root_.LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [DecidableEq ι']
     (e : ι ≃ ι') (i : ι) (v : E) :
-    LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e ((PiLp.equiv p fun _ => E).symm <| Pi.single i v) =
-      (PiLp.equiv p fun _ => E).symm (Pi.single (e i) v) := by
+    LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e ((WithLp.equiv p (_ → E)).symm <| Pi.single i v) =
+      (WithLp.equiv p (_ → E)).symm (Pi.single (e i) v) := by
   funext x
   simp [LinearIsometryEquiv.piLpCongrLeft_apply, LinearEquiv.piCongrLeft', Equiv.piCongrLeft',
     Pi.single, Function.update, Equiv.symm_apply_eq]
@@ -747,12 +747,12 @@ variable [DecidableEq ι]
 -- Porting note: added `hp`
 @[simp]
 theorem nnnorm_equiv_symm_single [hp : Fact (1 ≤ p)] (i : ι) (b : β i) :
-    ‖(PiLp.equiv p β).symm (Pi.single i b)‖₊ = ‖b‖₊ := by
+    ‖(WithLp.equiv p (∀ i, β i)).symm (Pi.single i b)‖₊ = ‖b‖₊ := by
   clear x y -- Porting note: added
   haveI : Nonempty ι := ⟨i⟩
   induction p using ENNReal.recTopCoe generalizing hp with
   | top =>
-    simp_rw [nnnorm_eq_ciSup, equiv_symm_apply]
+    simp_rw [nnnorm_eq_ciSup, WithLp.equiv_symm_pi_apply]
     refine' ciSup_eq_of_forall_le_of_forall_lt_exists_gt (fun j => _) fun n hn => ⟨i, hn.trans_eq _⟩
     · obtain rfl | hij := Decidable.eq_or_ne i j
       · rw [Pi.single_eq_same]
@@ -763,20 +763,23 @@ theorem nnnorm_equiv_symm_single [hp : Fact (1 ≤ p)] (i : ι) (b : β i) :
     have hp0 : (p : ℝ) ≠ 0 := by
       exact_mod_cast (zero_lt_one.trans_le <| Fact.out (p := 1 ≤ (p : ℝ≥0∞))).ne'
     rw [nnnorm_eq_sum ENNReal.coe_ne_top, ENNReal.coe_toReal, Fintype.sum_eq_single i,
-      equiv_symm_apply, Pi.single_eq_same, ← NNReal.rpow_mul, one_div, mul_inv_cancel hp0,
+      WithLp.equiv_symm_pi_apply, Pi.single_eq_same, ← NNReal.rpow_mul, one_div, mul_inv_cancel hp0,
       NNReal.rpow_one]
     intro j hij
-    rw [equiv_symm_apply, Pi.single_eq_of_ne hij, nnnorm_zero, NNReal.zero_rpow hp0]
+    rw [WithLp.equiv_symm_pi_apply, Pi.single_eq_of_ne hij, nnnorm_zero, NNReal.zero_rpow hp0]
 #align pi_Lp.nnnorm_equiv_symm_single PiLp.nnnorm_equiv_symm_single
 
 @[simp]
-theorem norm_equiv_symm_single (i : ι) (b : β i) : ‖(PiLp.equiv p β).symm (Pi.single i b)‖ = ‖b‖ :=
+theorem norm_equiv_symm_single (i : ι) (b : β i) :
+    ‖(WithLp.equiv p (∀ i, β i)).symm (Pi.single i b)‖ = ‖b‖ :=
   congr_arg ((↑) : ℝ≥0 → ℝ) <| nnnorm_equiv_symm_single p β i b
 #align pi_Lp.norm_equiv_symm_single PiLp.norm_equiv_symm_single
 
 @[simp]
 theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
-    nndist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
+    nndist
+        ((WithLp.equiv p (∀ i, β i)).symm (Pi.single i b₁))
+        ((WithLp.equiv p (∀ i, β i)).symm (Pi.single i b₂)) =
       nndist b₁ b₂ := by
   rw [nndist_eq_nnnorm, nndist_eq_nnnorm, ← WithLp.equiv_symm_sub, ← Pi.single_sub,
     nnnorm_equiv_symm_single]
@@ -784,14 +787,18 @@ theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
 
 @[simp]
 theorem dist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
-    dist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
+    dist
+        ((WithLp.equiv p (∀ i, β i)).symm (Pi.single i b₁))
+        ((WithLp.equiv p (∀ i, β i)).symm (Pi.single i b₂)) =
       dist b₁ b₂ :=
   congr_arg ((↑) : ℝ≥0 → ℝ) <| nndist_equiv_symm_single_same p β i b₁ b₂
 #align pi_Lp.dist_equiv_symm_single_same PiLp.dist_equiv_symm_single_same
 
 @[simp]
 theorem edist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
-    edist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
+    edist
+        ((WithLp.equiv p (∀ i, β i)).symm (Pi.single i b₁))
+        ((WithLp.equiv p (∀ i, β i)).symm (Pi.single i b₂)) =
       edist b₁ b₂ := by
   -- Porting note: was `simpa using`
   simp only [edist_nndist, nndist_equiv_symm_single_same p β i b₁ b₂]
@@ -804,12 +811,12 @@ the left-hand side simplifies to `0`, while the right-hand side simplifies to `
 `PiLp.nnnorm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
 `Nonempty ι`. -/
 theorem nnnorm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) (b : β) :
-    ‖(PiLp.equiv p fun _ : ι => β).symm (Function.const _ b)‖₊ =
+    ‖(WithLp.equiv p (ι → β)).symm (Function.const _ b)‖₊ =
       (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖b‖₊ := by
   rcases p.dichotomy with (h | h)
   · exact False.elim (hp h)
   · have ne_zero : p.toReal ≠ 0 := (zero_lt_one.trans_le h).ne'
-    simp_rw [nnnorm_eq_sum hp, equiv_symm_apply, Function.const_apply, Finset.sum_const,
+    simp_rw [nnnorm_eq_sum hp, WithLp.equiv_symm_pi_apply, Function.const_apply, Finset.sum_const,
       Finset.card_univ, nsmul_eq_mul, NNReal.mul_rpow, ← NNReal.rpow_mul,
       mul_one_div_cancel ne_zero, NNReal.rpow_one, ENNReal.toReal_div, ENNReal.one_toReal]
 #align pi_Lp.nnnorm_equiv_symm_const PiLp.nnnorm_equiv_symm_const
@@ -819,12 +826,12 @@ the left-hand side simplifies to `0`, while the right-hand side simplifies to `
 `PiLp.nnnorm_equiv_symm_const` for a version which exchanges the hypothesis `Nonempty ι`.
 for `p ≠ ∞`. -/
 theorem nnnorm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι] (b : β) :
-    ‖(PiLp.equiv p fun _ : ι => β).symm (Function.const _ b)‖₊ =
+    ‖(WithLp.equiv p (ι → β)).symm (Function.const _ b)‖₊ =
       (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖b‖₊ := by
   clear x y -- Porting note: added to avoid spurious arguments
   rcases em <| p = ∞ with (rfl | hp)
-  · simp only [equiv_symm_apply, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero, one_mul,
-      nnnorm_eq_ciSup, Function.const_apply, ciSup_const]
+  · simp only [WithLp.equiv_symm_pi_apply, ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero,
+      one_mul, nnnorm_eq_ciSup, Function.const_apply, ciSup_const]
   · exact nnnorm_equiv_symm_const hp b
 #align pi_Lp.nnnorm_equiv_symm_const' PiLp.nnnorm_equiv_symm_const'
 
@@ -833,7 +840,7 @@ the left-hand side simplifies to `0`, while the right-hand side simplifies to `
 `PiLp.norm_equiv_symm_const'` for a version which exchanges the hypothesis `p ≠ ∞` for
 `Nonempty ι`. -/
 theorem norm_equiv_symm_const {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) (b : β) :
-    ‖(PiLp.equiv p fun _ : ι => β).symm (Function.const _ b)‖ =
+    ‖(WithLp.equiv p (ι → β)).symm (Function.const _ b)‖ =
       (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖b‖ :=
   (congr_arg ((↑) : ℝ≥0 → ℝ) <| nnnorm_equiv_symm_const hp b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const PiLp.norm_equiv_symm_const
@@ -843,32 +850,28 @@ the left-hand side simplifies to `0`, while the right-hand side simplifies to `
 `PiLp.norm_equiv_symm_const` for a version which exchanges the hypothesis `Nonempty ι`.
 for `p ≠ ∞`. -/
 theorem norm_equiv_symm_const' {β} [SeminormedAddCommGroup β] [Nonempty ι] (b : β) :
-    ‖(PiLp.equiv p fun _ : ι => β).symm (Function.const _ b)‖ =
+    ‖(WithLp.equiv p (ι → β)).symm (Function.const _ b)‖ =
       (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖b‖ :=
   (congr_arg ((↑) : ℝ≥0 → ℝ) <| nnnorm_equiv_symm_const' b).trans <| by simp
 #align pi_Lp.norm_equiv_symm_const' PiLp.norm_equiv_symm_const'
 
 theorem nnnorm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
-    ‖(PiLp.equiv p fun _ : ι => β).symm 1‖₊ =
+    ‖(WithLp.equiv p (ι → β)).symm 1‖₊ =
       (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖(1 : β)‖₊ :=
   (nnnorm_equiv_symm_const hp (1 : β)).trans rfl
 #align pi_Lp.nnnorm_equiv_symm_one PiLp.nnnorm_equiv_symm_one
 
 theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [One β] :
-    ‖(PiLp.equiv p fun _ : ι => β).symm 1‖ = (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖(1 : β)‖ :=
+    ‖(WithLp.equiv p (ι → β)).symm 1‖ = (Fintype.card ι : ℝ≥0) ^ (1 / p).toReal * ‖(1 : β)‖ :=
   (norm_equiv_symm_const hp (1 : β)).trans rfl
 #align pi_Lp.norm_equiv_symm_one PiLp.norm_equiv_symm_one
 
 variable (𝕜 p)
 
-/-- `PiLp.equiv` as a linear equivalence. -/
-abbrev linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i := WithLp.linearEquiv _ _ _
-#align pi_Lp.linear_equiv PiLp.linearEquiv
-
-/-- `PiLp.equiv` as a continuous linear equivalence. -/
+/-- `WithLp.equiv` as a continuous linear equivalence. -/
 @[simps! (config := { fullyApplied := false }) apply symm_apply]
 protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i where
-  toLinearEquiv := PiLp.linearEquiv _ _ _
+  toLinearEquiv := WithLp.linearEquiv _ _ _
   continuous_toFun := continuous_equiv _ _
   continuous_invFun := continuous_equiv_symm _ _
 #align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquiv
@@ -879,12 +882,12 @@ variable (ι)
 
 /-- A version of `Pi.basisFun` for `PiLp`. -/
 def basisFun : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜) :=
-  Basis.ofEquivFun (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜)
+  Basis.ofEquivFun (WithLp.linearEquiv p 𝕜 (ι → 𝕜))
 #align pi_Lp.basis_fun PiLp.basisFun
 
 @[simp]
 theorem basisFun_apply [DecidableEq ι] (i) :
-    basisFun p 𝕜 ι i = (PiLp.equiv p _).symm (Pi.single i 1) := by
+    basisFun p 𝕜 ι i = (WithLp.equiv p _).symm (Pi.single i 1) := by
   simp_rw [basisFun, Basis.coe_ofEquivFun, WithLp.linearEquiv_symm_apply, Pi.single]
 #align pi_Lp.basis_fun_apply PiLp.basisFun_apply
 
@@ -894,18 +897,18 @@ theorem basisFun_repr (x : PiLp p fun _ : ι => 𝕜) (i : ι) : (basisFun p 
 #align pi_Lp.basis_fun_repr PiLp.basisFun_repr
 
 @[simp]
-theorem basisFun_equivFun : (basisFun p 𝕜 ι).equivFun = PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜 :=
+theorem basisFun_equivFun : (basisFun p 𝕜 ι).equivFun = WithLp.linearEquiv p 𝕜 (ι → 𝕜) :=
   Basis.equivFun_ofEquivFun _
 #align pi_Lp.basis_fun_equiv_fun PiLp.basisFun_equivFun
 
 theorem basisFun_eq_pi_basisFun :
-    basisFun p 𝕜 ι = (Pi.basisFun 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜).symm :=
+    basisFun p 𝕜 ι = (Pi.basisFun 𝕜 ι).map (WithLp.linearEquiv p 𝕜 (ι → 𝕜)).symm :=
   rfl
 #align pi_Lp.basis_fun_eq_pi_basis_fun PiLp.basisFun_eq_pi_basisFun
 
 @[simp]
 theorem basisFun_map :
-    (basisFun p 𝕜 ι).map (PiLp.linearEquiv p 𝕜 fun _ : ι => 𝕜) = Pi.basisFun 𝕜 ι :=
+    (basisFun p 𝕜 ι).map (WithLp.linearEquiv p 𝕜 (ι → 𝕜)) = Pi.basisFun 𝕜 ι :=
   rfl
 #align pi_Lp.basis_fun_map PiLp.basisFun_map
 
@@ -914,8 +917,8 @@ open Matrix
 nonrec theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜))
     (A : Matrix ι ι 𝕜) :
     b.toMatrix (PiLp.basisFun _ _ _) * A =
-      Matrix.of fun i j => b.repr ((PiLp.equiv _ _).symm (Aᵀ j)) i := by
-  have := basis_toMatrix_basisFun_mul (b.map (PiLp.linearEquiv _ 𝕜 _)) A
+      Matrix.of fun i j => b.repr ((WithLp.equiv _ _).symm (Aᵀ j)) i := by
+  have := basis_toMatrix_basisFun_mul (b.map (WithLp.linearEquiv _ 𝕜 _)) A
   simp_rw [← PiLp.basisFun_map p, Basis.map_repr, LinearEquiv.trans_apply,
     WithLp.linearEquiv_symm_apply, Basis.toMatrix_map, Function.comp, Basis.map_apply,
     LinearEquiv.symm_apply_apply] at this
chore: remove unused simps (#6632)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -597,8 +597,8 @@ theorem norm_sq_eq_of_L2 (β : ι → Type*) [∀ i, SeminormedAddCommGroup (β
 
 theorem dist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
-  simp_rw [dist_eq_norm, norm_eq_of_L2, Pi.sub_apply]
-  rfl -- Porting note: `Pi.sub_apply` doesn't work
+  simp_rw [dist_eq_norm, norm_eq_of_L2]
+  rfl
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
 
 theorem nndist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
@@ -700,10 +700,9 @@ def _root_.LinearIsometryEquiv.piLpCongrLeft (e : ι ≃ ι') :
   -- Porting note: this avoids spurious `x` and `y` arguments
     clear x y
     rcases p.dichotomy with (rfl | h)
-    · simp_rw [norm_eq_ciSup, LinearEquiv.piCongrLeft'_apply 𝕜 (fun _ : ι => E) e x' _]
+    · simp_rw [norm_eq_ciSup]
       exact e.symm.iSup_congr fun _ => rfl
     · simp only [norm_eq_sum (zero_lt_one.trans_le h)]
-      simp_rw [LinearEquiv.piCongrLeft'_apply 𝕜 (fun _ : ι => E) e x' _]
       congr 1
       exact Fintype.sum_equiv e.symm _ _ fun _ => rfl
 #align linear_isometry_equiv.pi_Lp_congr_left LinearIsometryEquiv.piLpCongrLeft
refactor(Data/Matrix): Eliminate notation in favor of HMul (#6487)

The main difficulty here is that * has a slightly difference precedence to . notably around smul and neg.

The other annoyance is that ↑U ⬝ A ⬝ ↑U⁻¹ : Matrix m m 𝔸 now has to be written U.val * A * (U⁻¹).val in order to typecheck.

A downside of this change to consider: if you have a goal of A * (B * C) = (A * B) * C, mul_assoc now gives the illusion of matching, when in fact Matrix.mul_assoc is needed. Previously the distinct symbol made it easy to avoid this mistake.

On the flipside, there is now no need to rewrite by Matrix.mul_eq_mul all the time (indeed, the lemma is now removed).

Diff
@@ -914,7 +914,7 @@ open Matrix
 
 nonrec theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜))
     (A : Matrix ι ι 𝕜) :
-    b.toMatrix (PiLp.basisFun _ _ _) ⬝ A =
+    b.toMatrix (PiLp.basisFun _ _ _) * A =
       Matrix.of fun i j => b.repr ((PiLp.equiv _ _).symm (Aᵀ j)) i := by
   have := basis_toMatrix_basisFun_mul (b.map (PiLp.linearEquiv _ 𝕜 _)) A
   simp_rw [← PiLp.basisFun_map p, Basis.map_repr, LinearEquiv.trans_apply,
refactor: generalize PiLp to WithLp (#6409)

The motivation is to be able to reuse this for ProdLp in #6136.

This matches the pattern of how the Lex type synonym is used.

Diff
@@ -6,6 +6,7 @@ Authors: Sébastien Gouëzel, Jireh Loreaux
 import Mathlib.Analysis.MeanInequalities
 import Mathlib.Data.Fintype.Order
 import Mathlib.LinearAlgebra.Matrix.Basis
+import Mathlib.Analysis.NormedSpace.WithLp
 
 #align_import analysis.normed_space.pi_Lp from "leanprover-community/mathlib"@"9d013ad8430ddddd350cff5c3db830278ded3c79"
 
@@ -73,9 +74,8 @@ noncomputable section
 already endowed with the `L^∞` distance, we need the type synonym to avoid confusing typeclass
 resolution. Also, we let it depend on `p`, to get a whole family of type on which we can put
 different distances. -/
-@[nolint unusedArguments]
-def PiLp (_p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : Type _ :=
-  ∀ i : ι, α i
+abbrev PiLp (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : Type _ :=
+  WithLp p (∀ i : ι, α i)
 #align pi_Lp PiLp
 
 instance (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
@@ -91,14 +91,12 @@ variable (p : ℝ≥0∞) (𝕜 𝕜' : Type*) {ι : Type*} (α : ι → Type*)
 
 /-- Canonical bijection between `PiLp p α` and the original Pi type. We introduce it to be able
 to compare the `L^p` and `L^∞` distances through it. -/
-protected def equiv : PiLp p α ≃ ∀ i : ι, α i :=
-  Equiv.refl _
+abbrev equiv : PiLp p α ≃ ∀ i : ι, α i := WithLp.equiv _ _
 #align pi_Lp.equiv PiLp.equiv
 
 /-! Note that the unapplied versions of these lemmas are deliberately omitted, as they break
 the use of the type synonym. -/
 
-
 @[simp]
 theorem equiv_apply (x : PiLp p α) (i : ι) : PiLp.equiv p α x i = x i :=
   rfl
@@ -617,16 +615,10 @@ theorem edist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)
 
 variable [NormedField 𝕜] [NormedField 𝕜']
 
--- Porting note: added
-instance module [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
-    Module 𝕜 (PiLp p β) :=
-  { Pi.module ι β 𝕜 with }
-
 /-- The product of finitely many normed spaces is a normed space, with the `L^p` norm. -/
 instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)] :
     NormedSpace 𝕜 (PiLp p β) :=
-  { module p 𝕜 β with
-    norm_smul_le := fun c f => by
+  { norm_smul_le := fun c f => by
       rcases p.dichotomy with (rfl | hp)
       · letI : Module 𝕜 (PiLp ∞ β) := Pi.module ι β 𝕜
         suffices ‖c • f‖₊ = ‖c‖₊ * ‖f‖₊ by exact_mod_cast NNReal.coe_mono this.le
@@ -643,21 +635,6 @@ instance normedSpace [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace
         exact Finset.sum_nonneg fun i _ => rpow_nonneg_of_nonneg (norm_nonneg _) _ }
 #align pi_Lp.normed_space PiLp.normedSpace
 
-instance isScalarTower [∀ i, SeminormedAddCommGroup (β i)] [SMul 𝕜 𝕜'] [∀ i, NormedSpace 𝕜 (β i)]
-    [∀ i, NormedSpace 𝕜' (β i)] [∀ i, IsScalarTower 𝕜 𝕜' (β i)] : IsScalarTower 𝕜 𝕜' (PiLp p β) :=
-  Pi.isScalarTower
-#align pi_Lp.is_scalar_tower PiLp.isScalarTower
-
-instance smulCommClass [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
-    [∀ i, NormedSpace 𝕜' (β i)] [∀ i, SMulCommClass 𝕜 𝕜' (β i)] : SMulCommClass 𝕜 𝕜' (PiLp p β) :=
-  Pi.smulCommClass
-#align pi_Lp.smul_comm_class PiLp.smulCommClass
-
-instance finiteDimensional [∀ i, SeminormedAddCommGroup (β i)] [∀ i, NormedSpace 𝕜 (β i)]
-    [∀ i, FiniteDimensional 𝕜 (β i)] : FiniteDimensional 𝕜 (PiLp p β) :=
-  FiniteDimensional.finiteDimensional_pi' _ _
-#align pi_Lp.finite_dimensional PiLp.finiteDimensional
-
 /- Register simplification lemmas for the applications of `PiLp` elements, as the usual lemmas
 for Pi types will not trigger. -/
 variable {𝕜 𝕜' p α}
@@ -746,7 +723,7 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') :
   LinearIsometryEquiv.ext fun z => by -- porting note: was `rfl`
     simp only [LinearIsometryEquiv.piLpCongrLeft, LinearIsometryEquiv.symm,
       LinearIsometryEquiv.coe_mk]
-    unfold PiLp
+    unfold PiLp WithLp
     ext
     simp only [LinearEquiv.piCongrLeft'_symm_apply, eq_rec_constant,
       LinearEquiv.piCongrLeft'_apply, Equiv.symm_symm_apply]
@@ -762,58 +739,6 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_single [DecidableEq ι] [Decida
     Pi.single, Function.update, Equiv.symm_apply_eq]
 #align linear_isometry_equiv.pi_Lp_congr_left_single LinearIsometryEquiv.piLpCongrLeft_single
 
-@[simp]
-theorem equiv_zero : PiLp.equiv p β 0 = 0 :=
-  rfl
-#align pi_Lp.equiv_zero PiLp.equiv_zero
-
-@[simp]
-theorem equiv_symm_zero : (PiLp.equiv p β).symm 0 = 0 :=
-  rfl
-#align pi_Lp.equiv_symm_zero PiLp.equiv_symm_zero
-
-@[simp]
-theorem equiv_add : PiLp.equiv p β (x + y) = PiLp.equiv p β x + PiLp.equiv p β y :=
-  rfl
-#align pi_Lp.equiv_add PiLp.equiv_add
-
-@[simp]
-theorem equiv_symm_add :
-    (PiLp.equiv p β).symm (x' + y') = (PiLp.equiv p β).symm x' + (PiLp.equiv p β).symm y' :=
-  rfl
-#align pi_Lp.equiv_symm_add PiLp.equiv_symm_add
-
-@[simp]
-theorem equiv_sub : PiLp.equiv p β (x - y) = PiLp.equiv p β x - PiLp.equiv p β y :=
-  rfl
-#align pi_Lp.equiv_sub PiLp.equiv_sub
-
-@[simp]
-theorem equiv_symm_sub :
-    (PiLp.equiv p β).symm (x' - y') = (PiLp.equiv p β).symm x' - (PiLp.equiv p β).symm y' :=
-  rfl
-#align pi_Lp.equiv_symm_sub PiLp.equiv_symm_sub
-
-@[simp]
-theorem equiv_neg : PiLp.equiv p β (-x) = -PiLp.equiv p β x :=
-  rfl
-#align pi_Lp.equiv_neg PiLp.equiv_neg
-
-@[simp]
-theorem equiv_symm_neg : (PiLp.equiv p β).symm (-x') = -(PiLp.equiv p β).symm x' :=
-  rfl
-#align pi_Lp.equiv_symm_neg PiLp.equiv_symm_neg
-
-@[simp]
-theorem equiv_smul : PiLp.equiv p β (c • x) = c • PiLp.equiv p β x :=
-  rfl
-#align pi_Lp.equiv_smul PiLp.equiv_smul
-
-@[simp]
-theorem equiv_symm_smul : (PiLp.equiv p β).symm (c • x') = c • (PiLp.equiv p β).symm x' :=
-  rfl
-#align pi_Lp.equiv_symm_smul PiLp.equiv_symm_smul
-
 section Single
 
 variable (p)
@@ -854,7 +779,7 @@ theorem norm_equiv_symm_single (i : ι) (b : β i) : ‖(PiLp.equiv p β).symm (
 theorem nndist_equiv_symm_single_same (i : ι) (b₁ b₂ : β i) :
     nndist ((PiLp.equiv p β).symm (Pi.single i b₁)) ((PiLp.equiv p β).symm (Pi.single i b₂)) =
       nndist b₁ b₂ := by
-  rw [nndist_eq_nnnorm, nndist_eq_nnnorm, ← equiv_symm_sub, ← Pi.single_sub,
+  rw [nndist_eq_nnnorm, nndist_eq_nnnorm, ← WithLp.equiv_symm_sub, ← Pi.single_sub,
     nnnorm_equiv_symm_single]
 #align pi_Lp.nndist_equiv_symm_single_same PiLp.nndist_equiv_symm_single_same
 
@@ -938,11 +863,7 @@ theorem norm_equiv_symm_one {β} [SeminormedAddCommGroup β] (hp : p ≠ ∞) [O
 variable (𝕜 p)
 
 /-- `PiLp.equiv` as a linear equivalence. -/
-@[simps (config := { fullyApplied := false })]
-protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
-  { LinearEquiv.refl _ _ with
-    toFun := PiLp.equiv _ _
-    invFun := (PiLp.equiv _ _).symm }
+abbrev linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i := WithLp.linearEquiv _ _ _
 #align pi_Lp.linear_equiv PiLp.linearEquiv
 
 /-- `PiLp.equiv` as a continuous linear equivalence. -/
@@ -965,7 +886,7 @@ def basisFun : Basis ι 𝕜 (PiLp p fun _ : ι => 𝕜) :=
 @[simp]
 theorem basisFun_apply [DecidableEq ι] (i) :
     basisFun p 𝕜 ι i = (PiLp.equiv p _).symm (Pi.single i 1) := by
-  simp_rw [basisFun, Basis.coe_ofEquivFun, PiLp.linearEquiv_symm_apply, Pi.single]
+  simp_rw [basisFun, Basis.coe_ofEquivFun, WithLp.linearEquiv_symm_apply, Pi.single]
 #align pi_Lp.basis_fun_apply PiLp.basisFun_apply
 
 @[simp]
@@ -997,7 +918,7 @@ nonrec theorem basis_toMatrix_basisFun_mul (b : Basis ι 𝕜 (PiLp p fun _ : ι
       Matrix.of fun i j => b.repr ((PiLp.equiv _ _).symm (Aᵀ j)) i := by
   have := basis_toMatrix_basisFun_mul (b.map (PiLp.linearEquiv _ 𝕜 _)) A
   simp_rw [← PiLp.basisFun_map p, Basis.map_repr, LinearEquiv.trans_apply,
-    PiLp.linearEquiv_symm_apply, Basis.toMatrix_map, Function.comp, Basis.map_apply,
+    WithLp.linearEquiv_symm_apply, Basis.toMatrix_map, Function.comp, Basis.map_apply,
     LinearEquiv.symm_apply_apply] at this
   exact this
 #align pi_Lp.basis_to_matrix_basis_fun_mul PiLp.basis_toMatrix_basisFun_mul
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
@@ -74,20 +74,20 @@ already endowed with the `L^∞` distance, we need the type synonym to avoid con
 resolution. Also, we let it depend on `p`, to get a whole family of type on which we can put
 different distances. -/
 @[nolint unusedArguments]
-def PiLp (_p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) : Type _ :=
+def PiLp (_p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) : Type _ :=
   ∀ i : ι, α i
 #align pi_Lp PiLp
 
-instance (p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
+instance (p : ℝ≥0∞) {ι : Type*} (α : ι → Type*) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
   ⟨fun _ => default⟩
 
 @[ext] -- porting note: new lemma
-protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type _} {α : ι → Type _} {x y : PiLp p α}
+protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type*} {α : ι → Type*} {x y : PiLp p α}
     (h : ∀ i, x i = y i) : x = y := funext h
 
 namespace PiLp
 
-variable (p : ℝ≥0∞) (𝕜 𝕜' : Type _) {ι : Type _} (α : ι → Type _) (β : ι → Type _)
+variable (p : ℝ≥0∞) (𝕜 𝕜' : Type*) {ι : Type*} (α : ι → Type*) (β : ι → Type*)
 
 /-- Canonical bijection between `PiLp p α` and the original Pi type. We introduce it to be able
 to compare the `L^p` and `L^∞` distances through it. -/
@@ -314,7 +314,7 @@ attribute [local instance] PiLp.pseudoEmetricAux
 
 /-- An auxiliary lemma used twice in the proof of `PiLp.pseudoMetricAux` below. Not intended for
 use outside this file. -/
-theorem iSup_edist_ne_top_aux {ι : Type _} [Finite ι] {α : ι → Type _}
+theorem iSup_edist_ne_top_aux {ι : Type*} [Finite ι] {α : ι → Type*}
     [∀ i, PseudoMetricSpace (α i)] (f g : PiLp ∞ α) : (⨆ i, edist (f i) (g i)) ≠ ⊤ := by
   cases nonempty_fintype ι
   obtain ⟨M, hM⟩ := Fintype.exists_le fun i => (⟨dist (f i) (g i), dist_nonneg⟩ : ℝ≥0)
@@ -494,7 +494,7 @@ and having as uniformity the product uniformity. -/
 instance [∀ i, MetricSpace (α i)] : MetricSpace (PiLp p α) :=
   MetricSpace.ofT0PseudoMetricSpace _
 
-theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)]
+theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*} [∀ i, PseudoMetricSpace (β i)]
     (hp : p ≠ ∞) (x y : PiLp p β) :
     nndist x y = (∑ i : ι, nndist (x i) (y i) ^ p.toReal) ^ (1 / p.toReal) :=
   -- Porting note: was `Subtype.ext`
@@ -503,7 +503,7 @@ theorem nndist_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} [
     exact dist_eq_sum (p.toReal_pos_iff_ne_top.mpr hp) _ _
 #align pi_Lp.nndist_eq_sum PiLp.nndist_eq_sum
 
-theorem nndist_eq_iSup {β : ι → Type _} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
+theorem nndist_eq_iSup {β : ι → Type*} [∀ i, PseudoMetricSpace (β i)] (x y : PiLp ∞ β) :
     nndist x y = ⨆ i, nndist (x i) (y i) :=
   -- Porting note: was `Subtype.ext`
   NNReal.eq <| by
@@ -554,20 +554,20 @@ instance normedAddCommGroup [∀ i, NormedAddCommGroup (α i)] : NormedAddCommGr
     eq_of_dist_eq_zero := eq_of_dist_eq_zero }
 #align pi_Lp.normed_add_comm_group PiLp.normedAddCommGroup
 
-theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _} (hp : p ≠ ∞)
+theorem nnnorm_eq_sum {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*} (hp : p ≠ ∞)
     [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp p β) :
     ‖f‖₊ = (∑ i, ‖f i‖₊ ^ p.toReal) ^ (1 / p.toReal) := by
   ext
   simp [NNReal.coe_sum, norm_eq_sum (p.toReal_pos_iff_ne_top.mpr hp)]
 #align pi_Lp.nnnorm_eq_sum PiLp.nnnorm_eq_sum
 
-theorem nnnorm_eq_ciSup {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
+theorem nnnorm_eq_ciSup {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (f : PiLp ∞ β) :
     ‖f‖₊ = ⨆ i, ‖f i‖₊ := by
   ext
   simp [NNReal.coe_iSup, norm_eq_ciSup]
 #align pi_Lp.nnnorm_eq_csupr PiLp.nnnorm_eq_ciSup
 
-theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
+theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type*}
     [∀ i, SeminormedAddCommGroup (β i)] (n : ℕ) (h : p = n) (f : PiLp p β) :
     ‖f‖ = (∑ i, ‖f i‖ ^ n) ^ (1 / (n : ℝ)) := by
   have := p.toReal_pos_iff_ne_top.mpr (ne_of_eq_of_ne h <| ENNReal.nat_ne_top n)
@@ -575,14 +575,14 @@ theorem norm_eq_of_nat {p : ℝ≥0∞} [Fact (1 ≤ p)] {β : ι → Type _}
     norm_eq_sum this]
 #align pi_Lp.norm_eq_of_nat PiLp.norm_eq_of_nat
 
-theorem norm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
+theorem norm_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ = sqrt (∑ i : ι, ‖x i‖ ^ 2) := by
   rw [norm_eq_of_nat 2 (by norm_cast) _] -- Porting note: was `convert`
   rw [Real.sqrt_eq_rpow]
   norm_cast
 #align pi_Lp.norm_eq_of_L2 PiLp.norm_eq_of_L2
 
-theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
+theorem nnnorm_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖₊ = NNReal.sqrt (∑ i : ι, ‖x i‖₊ ^ 2) :=
   -- Porting note: was `Subtype.ext`
   NNReal.eq <| by
@@ -590,20 +590,20 @@ theorem nnnorm_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β
     exact norm_eq_of_L2 x
 #align pi_Lp.nnnorm_eq_of_L2 PiLp.nnnorm_eq_of_L2
 
-theorem norm_sq_eq_of_L2 (β : ι → Type _) [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
+theorem norm_sq_eq_of_L2 (β : ι → Type*) [∀ i, SeminormedAddCommGroup (β i)] (x : PiLp 2 β) :
     ‖x‖ ^ 2 = ∑ i : ι, ‖x i‖ ^ 2 := by
   suffices ‖x‖₊ ^ 2 = ∑ i : ι, ‖x i‖₊ ^ 2 by
     simpa only [NNReal.coe_sum] using congr_arg ((↑) : ℝ≥0 → ℝ) this
   rw [nnnorm_eq_of_L2, NNReal.sq_sqrt]
 #align pi_Lp.norm_sq_eq_of_L2 PiLp.norm_sq_eq_of_L2
 
-theorem dist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
+theorem dist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     dist x y = (∑ i, dist (x i) (y i) ^ 2).sqrt := by
   simp_rw [dist_eq_norm, norm_eq_of_L2, Pi.sub_apply]
   rfl -- Porting note: `Pi.sub_apply` doesn't work
 #align pi_Lp.dist_eq_of_L2 PiLp.dist_eq_of_L2
 
-theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
+theorem nndist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     nndist x y = NNReal.sqrt (∑ i, nndist (x i) (y i) ^ 2) :=
   -- Porting note: was `Subtype.ext`
   NNReal.eq <| by
@@ -611,7 +611,7 @@ theorem nndist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β
     exact dist_eq_of_L2 _ _
 #align pi_Lp.nndist_eq_of_L2 PiLp.nndist_eq_of_L2
 
-theorem edist_eq_of_L2 {β : ι → Type _} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
+theorem edist_eq_of_L2 {β : ι → Type*} [∀ i, SeminormedAddCommGroup (β i)] (x y : PiLp 2 β) :
     edist x y = (∑ i, edist (x i) (y i) ^ 2) ^ (1 / 2 : ℝ) := by simp [PiLp.edist_eq_sum]
 #align pi_Lp.edist_eq_of_L2 PiLp.edist_eq_of_L2
 
@@ -707,12 +707,12 @@ def equivₗᵢ : PiLp ∞ β ≃ₗᵢ[𝕜] ∀ i, β i :=
         exact ciSup_le fun i => Finset.le_sup (f := fun k => ‖f k‖₊) (Finset.mem_univ i) }
 #align pi_Lp.equivₗᵢ PiLp.equivₗᵢ
 
-variable {ι' : Type _}
+variable {ι' : Type*}
 
 variable [Fintype ι']
 
 variable (p 𝕜)
-variable (E : Type _) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
+variable (E : Type*) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
 
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
chore: regularize HPow.hPow porting notes (#6465)
Diff
@@ -63,7 +63,7 @@ We also set up the theory for `PseudoEMetricSpace` and `PseudoMetricSpace`.
 
 set_option linter.uppercaseLean3 false
 
-local macro_rules | `($x ^ $y)   => `(HPow.hPow $x $y) -- Porting note: See issue #2220
+local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue lean4#2220
 
 open Real Set Filter IsROrC Bornology BigOperators Uniformity Topology NNReal ENNReal
 
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) 2020 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
-
-! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 9d013ad8430ddddd350cff5c3db830278ded3c79
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.MeanInequalities
 import Mathlib.Data.Fintype.Order
 import Mathlib.LinearAlgebra.Matrix.Basis
 
+#align_import analysis.normed_space.pi_Lp from "leanprover-community/mathlib"@"9d013ad8430ddddd350cff5c3db830278ded3c79"
+
 /-!
 # `L^p` distance on finite products of metric spaces
 Given finitely many metric spaces, one can put the max distance on their product, but there is also
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -85,7 +85,7 @@ instance (p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) [∀ i, Inhabited (
   ⟨fun _ => default⟩
 
 @[ext] -- porting note: new lemma
-protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type _} {α : ι → Type _} {x y : PiLp p  α}
+protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type _} {α : ι → Type _} {x y : PiLp p α}
     (h : ∀ i, x i = y i) : x = y := funext h
 
 namespace PiLp
@@ -715,7 +715,7 @@ variable {ι' : Type _}
 variable [Fintype ι']
 
 variable (p 𝕜)
-variable  (E : Type _) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
+variable (E : Type _) [NormedAddCommGroup E] [NormedSpace 𝕜 E]
 
 /-- An equivalence of finite domains induces a linearly isometric equivalence of finitely supported
 functions-/
fix: change compl precedence (#5586)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -490,7 +490,7 @@ instance [∀ i, EMetricSpace (α i)] : EMetricSpace (PiLp p α) :=
 `L^p` distance, and having as uniformity the product uniformity. -/
 instance [∀ i, PseudoMetricSpace (β i)] : PseudoMetricSpace (PiLp p β) :=
   ((pseudoMetricAux p β).replaceUniformity (aux_uniformity_eq p β).symm).replaceBornology fun s =>
-    Filter.ext_iff.1 (aux_cobounded_eq p β).symm (sᶜ)
+    Filter.ext_iff.1 (aux_cobounded_eq p β).symm sᶜ
 
 /-- metric space instance on the product of finitely many metric spaces, using the `L^p` distance,
 and having as uniformity the product uniformity. -/
chore: fix many typos (#4983)

These are all doc fixes

Diff
@@ -28,7 +28,7 @@ We give instances of this construction for emetric spaces, metric spaces, normed
 spaces.
 
 To avoid conflicting instances, all these are defined on a copy of the original Π-type, named
-`PiLp p α`. The assumpion `[Fact (1 ≤ p)]` is required for the metric and normed space instances.
+`PiLp p α`. The assumption `[Fact (1 ≤ p)]` is required for the metric and normed space instances.
 
 We ensure that the topology, bornology and uniform structure on `PiLp p α` are (defeq to) the
 product topology, product bornology and product uniformity, to be able to use freely continuity
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -486,7 +486,7 @@ edistance, and having as uniformity the product uniformity. -/
 instance [∀ i, EMetricSpace (α i)] : EMetricSpace (PiLp p α) :=
   @EMetricSpace.ofT0PseudoEMetricSpace (PiLp p α) _ Pi.instT0Space
 
-/-- pseudometric space instance on the product of finitely many psuedometric spaces, using the
+/-- pseudometric space instance on the product of finitely many pseudometric spaces, using the
 `L^p` distance, and having as uniformity the product uniformity. -/
 instance [∀ i, PseudoMetricSpace (β i)] : PseudoMetricSpace (PiLp p β) :=
   ((pseudoMetricAux p β).replaceUniformity (aux_uniformity_eq p β).symm).replaceBornology fun s =>
feat: port Geometry.Manifold.Instances.Real (#4654)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -84,6 +84,10 @@ def PiLp (_p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) : Type _ :=
 instance (p : ℝ≥0∞) {ι : Type _} (α : ι → Type _) [∀ i, Inhabited (α i)] : Inhabited (PiLp p α) :=
   ⟨fun _ => default⟩
 
+@[ext] -- porting note: new lemma
+protected theorem PiLp.ext {p : ℝ≥0∞} {ι : Type _} {α : ι → Type _} {x y : PiLp p  α}
+    (h : ∀ i, x i = y i) : x = y := funext h
+
 namespace PiLp
 
 variable (p : ℝ≥0∞) (𝕜 𝕜' : Type _) {ι : Type _} (α : ι → Type _) (β : ι → Type _)
chore: forward-port leanprover-community/mathlib#19134 (#4581)

The mathlib3 change was fixing a synchronization comment, so there is nothing to port.

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Jireh Loreaux
 
 ! This file was ported from Lean 3 source module analysis.normed_space.pi_Lp
-! leanprover-community/mathlib commit 13bce9a6b6c44f6b4c91ac1c1d2a816e2533d395
+! leanprover-community/mathlib commit 9d013ad8430ddddd350cff5c3db830278ded3c79
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
feat: forward-port 19107 (#4470)

Forward-port leanprover-community/mathlib#19107

Diff
@@ -945,19 +945,13 @@ protected def linearEquiv : PiLp p β ≃ₗ[𝕜] ∀ i, β i :=
 #align pi_Lp.linear_equiv PiLp.linearEquiv
 
 /-- `PiLp.equiv` as a continuous linear equivalence. -/
-@[simps! (config := { fullyApplied := false }) toFun apply symm_apply]
+@[simps! (config := { fullyApplied := false }) apply symm_apply]
 protected def continuousLinearEquiv : PiLp p β ≃L[𝕜] ∀ i, β i where
   toLinearEquiv := PiLp.linearEquiv _ _ _
   continuous_toFun := continuous_equiv _ _
   continuous_invFun := continuous_equiv_symm _ _
 #align pi_Lp.continuous_linear_equiv PiLp.continuousLinearEquiv
 
--- Porting note: defined separately to appease simpNF linter
-@[simp high]
-theorem continuousLinearEquiv_invFun :
-    (PiLp.continuousLinearEquiv p 𝕜 β).toLinearEquiv.invFun = ↑(PiLp.equiv p fun i ↦ β i).symm  :=
-  rfl
-
 section Basis
 
 variable (ι)
feat: port Analysis.NormedSpace.PiLp (#4345)

Co-authored-by: Jireh Loreaux <loreaujy@gmail.com>

Dependencies 12 + 796

797 files ported (98.5%)
351587 lines ported (98.4%)
Show graph

The unported dependencies are

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